随笔-124  评论-49  文章-56  trackbacks-0

http://logging.apache.org/
1 导入log4j的jar包

2 在scr下创建log4j.properties
  log4j.properties
  //输入级别debug<info<warn<error
  log4j.rootLogger=debug[info][warn][error],appender1
  //ConsoleAppender输出到控制台,FileAppender输出到文件
  log4j.appender.appender1=org.apache.log4j.ConsoleAppender[FileAppender]
  //写出的目标文件
  log4j.appender.appender1.File=c:/demllog4j.log[.html]
  //写入文件的格式
  log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout[HTMLLayout]
 
  例1,控制台输出:
  log4j.rootLogger=debug,appender1
  log4j.appender.appender1=org.apache.log4j.ConsoleAppender
  log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
  例2,输出到.log文件:
  log4j.rootLogger=debug,appender1
  log4j.appender.appender1=org.apache.log4j.FileAppender
  log4j.appender.appender1.File=c:/demllog4j.log
  log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
  例3,输出到.html文件:
  log4j.appender.appender1=org.apache.log4j.FileAppender
  log4j.appender.appender1.File=c:/demllog4j.html
  log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
  例4,输出到.html文件同时输出到控制台:
  log4j.rootLogger=error,appender1,appender2
  log4j.appender.appender1=org.apache.log4j.ConsoleAppender
  log4j.appender.appender2=org.apache.log4j.FileAppender
  log4j.appender.appender2.File=c:/demllog4j.html
  log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
  log4j.appender.appender2.layout=org.apache.log4j.HTMLLayout
  例5,为不同类定义输出格式
  log4j.rootLogger=debug,appender1
  #log4j.logger.com.liuwei=info,appender1
  log4j.appender.appender1=org.apache.log4j.ConsoleAppender
  log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
  log4j.appender.appender1.layout.ConversionPattern=%r [%t] %p - %c - %l - %m%n

3 编写代码

public class Test {
 //参数为当前类的类名,得到logger
 private static Logger logger=Logger.getLogger(Test.class);
 
 public static void main(String[] args) {
                //输出信息
  //if(log.isDebugEnabled()){
       logger.debug("sssssssss");
       logger.info("ssssssss");
       logger.error("ssssssssss");
  //}
 }
}
--------------------------------------------------------------------
log4j核心
 
1 Logger 完成日志信息的处理

  输出级别:
    debug 错误信息     if(log.isDebugEnabled()){log.debug("x="+x);}
    info 日常信息      if(log.isDebugEnabled()){log.info("System started at"+new Date());}
    warn 警告信息      if(log.isDebugEnabled()){log.warn("Server down-returnning");}
    error 程序出错信息 if(log.isDebugEnabled()){log.error("Could not access server",e);}
 
2 Appender 设置日志信息的去向

  org.apache.log4j.ConsoleAppender(控制台)
  org.apache.log4j.FileAppender(文件)
  org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
  org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸时产生一个新的文件)
  org.apache.log4j.WriterAppender(将日志讯息以串流格式发送到任意指定的地方)
  org.apache.log4j.JdbcAppender(将日志讯息保存到数据库中)

3 Layout 设置日志信息的输出样式

  org.apache.log4j.HTMLLayout (以HTML表格形式布局)
  org.apache.log4j.SimpleLayout (包含日志讯息的级别和讯息字符串)
  org.apache.log4j.TTCCLayout (包含日志产生的时间、执行者、类别等等讯息)
  org.apache.log4j.PatternLayout (可以灵活地指定布局模式)
 
  PatternLayout:
     -%p 输出优先级,即debug,info,warn,error
     -%r 输出自应用启到到输出该日志讯息所耗费的毫秒数
     -%t 输出产生该日志事件的线程名
     -%f 输出日志讯息所属的类的类别名
     -%c 输出日志讯息所属的类的全名
     -%d 输出日志时间点的日期或时间,指定格式的方式:%d{yyyy-MM-dd HH:mm:ss}
     -%l 输出日志讯息所属发生位置,即输出日志讯息的语句处于它所在的类别的第几行
     -%m 输出代码中指定的讯息,如log(message)中的message
     -%n 输出一个换行符号

配置文件
  log4j.properties/log4j.xml

posted on 2009-11-29 22:34 junly 阅读(239) 评论(0)  编辑  收藏 所属分类: other

只有注册用户登录后才能发表评论。


网站导航: