log4j 使用说明总结(二)

2014-11-24 11:14:55 · 作者: · 浏览: 3
录当天的log信息:
  log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
  log4j.appender.A2.file=dglog
  log4j.appender.A2.DatePattern='.'yyyy-MM-dd
  log4j.appender.A2.layout=org.apache.log4j.PatternLayout
  log4j.appender.A2.layout.ConversionPattern= %5r %-5p %c{2} - %m%n
  4.2.4 RollingFileAppender
  文件大小到达指定尺寸的时候产生一个新的文件。
  log4j.appender.R=org.apache.log4j.RollingFileAppender
  log4j.appender.R.File= ../logs/dglog.log
  # Control the maximum log file size
  log4j.appender.R.MaxFileSize=100KB
  # Archive log files (one backup file here)
  log4j.appender.R.MaxBackupIndex=1
  log4j.appender.R.layout=org.apache.log4j.PatternLayout
  log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
  这个配置文件指定了输出源R,是一个轮转日志文件。最大的文件是100KB,当一个日志文件达到最大尺寸时,Log4J会自动把example.log重命名为dglog.log.1,然后重建一个新的dglog.log文件,依次轮转。
  4.2.5 WriterAppender
  将日志信息以流格式发送到任意指定的地方。
  4.3 Layout的配置
  Layout指定了log信息输出的样式。
  4.3.1 布局样式
  org.apache.log4j.HTMLLayout(以HTML表格形式布局),
  org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
  org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
  org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
  4.3.2 格式
  %m 输出代码中指定的消息
  %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
  %r 输出自应用启动到输出该log信息耗费的毫秒数
  %c 输出所属的类目,通常就是所在类的全名
  %t 输出产生该日志事件的线程名
  %n 输出一个回车换行符,Windows平台为"rn",Unix平台为"n"
  %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
  %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(Test Log4.java:10)
  4.3.3 例子
  例子1:显示日期和log信息
  log4j.appender.A2.layout=org.apache.log4j.PatternLayout
  log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %m%n
  打印的信息是:
  2002-11-12 11:49:42,866 SELECT * FROM Role WHERE 1=1 order by createDate desc
  例子2:显示日期,log发生地方和log信息
  log4j.appender.A2.layout=org.apache.log4j.PatternLayout
  log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %l "#" %m%n
  2002-11-12 11:51:46,313 cn.net.unet.weboa.system.dao.RoleDAO.select(RoleDAO.java:409) "#"
  SELECT * FROM Role WHERE 1=1 order by createDate desc
  例子3:显示log级别,时间,调用方法,log信息
  log4j.appender.A2.layout=org.apache.log4j.PatternLayout
  log4j.appender.A2.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS}
  method:%l%n%m%n
  log信息:
  [DEBUG] 2002-11-12 12:00:57,376
  method:cn.net.unet.weboa.system.dao.RoleDAO.select(RoleDAO.java:409)
  SELECT * FROM Role WHERE 1=1 order by createDate desc
  4.4 Properties配置文件实例
  log4j.rootLogger=DEBUG
  #将DAO层log记录到DAOLog,allLog中
  log4j.logger.DAOLog=DEBUG,A2,A4
  #将逻辑层log记录到BusinessLog,allLog中
  log4j.logger.Businesslog=DEBUG,A3,A4
  #A1--打印到屏幕上
  log4j.appender.A1=org.apache.log4j.ConsoleAppender
  log4j.appender.A1.layout=org.apache.log4j.PatternLayout
  log4j.appender.A1.layout.ConversionPattern=%-5p [%t] %37c %3x - %m%n
  #A2--打印到文件DAOLog中--专门为DAO层服务
  log4j.appender.A2=org.apache.l