log4j的具体应用

原创 2005年04月23日 18:09:00

本篇假设你已了解log4j的基本概念.

下面给出一个具体的实例:

安装环节见前面的文章

step1 配置文件log4j.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
       
  <appender name="appender1" class="org.apache.log4j.FileAppender">
    <param name="File" value="gasturbine.log1.txt"/>
    <param name="Append" value="false"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
    </layout>
  </appender>
  
   
  <root>
    <level value ="debug"/>
    <appender-ref ref="appender1"/>
      </root>
 
</log4j:configuration>

在这个应用中,该文件位于src文件夹下,编译后编译到class文件夹下

step2) 封装log4j

这一步并不是必须,视具体应用而定,在我的应用中,很多类要用到log4j的logger对象,为了避免在每个类中都定义一个 static Logger logger = Logger.getLogger(clazz)的属性;而且为了避免在每个类中都进行重复的配置,可以进行如下设计:

package gasturbine.model.util;

import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;

/**
 * @author Pw
 *
 * 
 */
public class SysLog {
 static Logger logger = Logger.getRootLogger();
 static {
  DOMConfigurator.configure("classes/log4j.xml");
 }

 public static  void debug(Object o) {
  logger.debug(o);

 }
 
 public static  void debug(double d) {
  logger.debug(""+d);

 }

}

这样,在每个需要日志的类中都可以直接调用SysLog.debug()方法就可以了

当然我这个类很简略,连logger.info(),logger.error()都没有,因为我暂时只需要debug,你可以根据具体情况添加上去

step3) 写日志

有了step2,这一步太简单了,因为step2已经作了大部分工作,现在只是在需要写日志的类中直接调用SysLog.debug()方法就可以了

客户端代码片断:

Cell in_ga = this.info.get("ga_in_for_" + name + "_in"); //入口湿空气流量
 SysLog.debug("入口湿空气流量:" + in_ga.getValue() + "  kg/s");

 

 

 

log4j 具体应用(续)

现在需求发生改变,要求记录下类中状态信息,做成报表,也就是现在有两个日志文件gasturbine.log1和gasturbine.log2,前者用于显示debug信息,后者用于专门显示状态信息,如果仅...
  • pwlazy
  • pwlazy
  • 2005年04月23日 19:16
  • 1495

log4j详细配置,一看就懂

原文地址: http://www.javaeye.com/topic/378077,再次转载请标注转载地址,尊重他人的劳动成果 org.apache.log4j.Logger 详解 1. 概述 1.1...
  • win7system
  • win7system
  • 2016年06月07日 11:04
  • 1539

多个Log4j实例并存于同一个Web程序

log4j作为一个记录log的工具,已经广泛应用于程序中,记录程序的运行状态,帮助开发人员诊断程序发生Bug的原因。既然log4j具备记录log的功能,并且可以根据包的路径输出不同的log文件,那能不...
  • moliqin
  • moliqin
  • 2009年05月11日 08:48
  • 2657

log4j-使用详解与Java的实例应用

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自【大学之旅_谙忆的博客】 log4j介绍Log4j,具体的我就不去拷贝官网的介绍了,大家只要知道这是帮助我们记...
  • qq_26525215
  • qq_26525215
  • 2016年08月23日 11:37
  • 4205

使用log4j按包名输出日志

使用log4j按包名输出日志 首先正常配制log4j.properties文件。 此文件中配制的日志输出级别是info,并输出到file和console中。 log4j.properties ...
  • wubai250
  • wubai250
  • 2013年01月13日 21:05
  • 5812

在Tomcat 与weblogic 中的 日志(log4j) 配置系列二(weblogic 应用程序使用log4j)

部署到weblogic 中应用程序如何通过log4j写日志到文件中? 这里仅仅使用log4j, 而不使用 commons-logging, 关于log4j 和commons-logging的区别和关...
  • oscar999
  • oscar999
  • 2013年08月01日 18:24
  • 8251

log4j高级用法

1.    log4j输出多个自定义日志文件  log4j的强大功能无可置疑,但实际应用中免不了遇到某个功能需要输出独立的日志文件的情况,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢?...
  • googlevsbing
  • googlevsbing
  • 2013年08月09日 14:18
  • 1067

最长公共子序列的一个应用

回文字符串 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当...
  • duan_1998
  • duan_1998
  • 2016年12月23日 16:34
  • 426

在JAVA应用程序里使用log4j

一、下载log4j.jar包二、配置log4j.properties文件(当然也可用log4j.xml,这里就不多说了) ,配置如下:log4j.rootLogger=DEBUG, fileLogge...
  • lirengming
  • lirengming
  • 2007年08月24日 16:49
  • 1935

【Spring】在springmvc中使用log4j日志功能

在springmvc框架中使用log4j日志功能
  • u013177446
  • u013177446
  • 2016年12月30日 10:31
  • 314
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:log4j的具体应用
举报原因:
原因补充:

(最多只允许输入30个字)