Log4j日志配置

log4j.rootCategory=INFO, stdout , R 
此句为将等级为INFO的日志信息输出到stdout和R这两个目的地,stdout和R的定义在下面的代码,可以任意起名。等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只显示INFO, WARN, ERROR的log信息,而DEBUG信息不会被显示。

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
此句为定义名为stdout的输出端是哪种类型,可以是 
org.apache.log4j.ConsoleAppender(控制台), 
org.apache.log4j.FileAppender(文件), 
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), 
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) 
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) 

 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
此句为定义名为stdout的输出端的layout是哪种类型,可以是 
org.apache.log4j.HTMLLayout(以HTML表格形式布局), 
org.apache.log4j.PatternLayout(可以灵活地指定布局模式), 
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串), 
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息) 
具体讲解可参照第三部分定义配置文件中的Layout。 

log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%l]-[%p] %n%m%n

如果使用PatternLayout布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下: 
%m 输出代码中指定的消息 
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 
%r 输出自应用启动到输出该log信息耗费的毫秒数 
%c 输出所属的类目,通常就是所在类的全名 
%t 输出产生该日志事件的线程名 
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n” 
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。

log4j.appender.R=org.apache.log4j. RollingFileAppender 

定义名为R的输出端的类型为输出到日志文件。

log4j.appender.logfile.MaxFileSize=512KB

log4j.appender.logfile.MaxBackupIndex=3

设置一个日志文件的大小最大为512KB,备份数量为3。

log4j.appender.R=org.apache.log4j. DailyRollingFileAppender

将会每天产生一个日志文件,若增加配置如下代码,

log4j.appender.logfile.DatePattern = ‘.’yyyy-MM-dd

则前一天的日志备份为[日志文件名].log. yyyy-MM-dd

7  log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log 
此句为定义名为R的输出端的文件名为D:\\Tomcat 5.5\\logs\\qc.log可以自行修改。

8  log4j.logger.com. neusoft =DEBUG 
指定com.neusoft包下的所有类的等级为DEBUG。 
可以把com.neusoft改为自己项目所用的包名。 

 

在应用中使用log4j时,先导入log4j、slf4j的jar包,使用时在自己的类里面定义一个私有静态的变量,如:

private final Logger log =LoggerFactory.getLog(getClass());

log.debug("111");

log.info("111"); //输出日志信息

 

 附上一个项目实际使用的LOG4J配置:

#rootLogger
log4j.rootLogger=DEBUG,Console,R
log4j.logger.java.sql=DEBUG,Console
log4j.logger.java.sql.ResultSet=ERROR,Console

log4j.logger.org.springframework=ERROR
log4j.logger.org=ERROR
log4j.logger.com.ibatis=ERROR
log4j.logger.com.mchange.v2=ERROR

#Console Log
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.encoding=GBK
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%p][%-d{yyyy-MM-dd HH:mm:ss.SSS}] %c%n %m%n

#File Log
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.encoding=UTF-8
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.File=../logs/debug.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%p][%-d{yyyy-MM-dd HH:mm:ss.SSS}] %c%n %m%n

 

 

posted @ 2013-12-19 10:24  朗度云  阅读(290)  评论(0编辑  收藏  举报