Log⽇志级别从⾼到低排序ERROR、WARN、INFO、DEBUG
说明:我们项⽬中没有加载,log⽇志有四个,⼤家可以在log4j⽂件中进⾏配置。
⽇志记录器(Logger)是⽇志处理的核⼼组件。log4j具有5种正常级别(Level)。⽇志记录器(Logger)的可⽤级别Level (不包括⾃定义级别 Level),以下内容就是摘⾃log4j API ():
static Level WARN
WARN level表明会出现潜在错误的情形。
static Level ERROR
ERROR level指出虽然发⽣错误事件,但仍然不影响系统的继续运⾏。
static Level FATAL
FATAL level指出每个严重的错误事件将会导致应⽤程序的退出。
另外,还有两个可⽤的特别的⽇志记录级别: (以下描述来⾃log4j API):
static Level ALL
ALL Level是最低等级的,⽤于打开所有⽇志记录。
static Level OFF
OFF Level是最⾼等级的,⽤于关闭所有⽇志记录。
⽇志记录器(Logger)的⾏为是分等级的。如下表所⽰:
分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使⽤四个级别,优先级从⾼到低分别是 ERROR、WARN、INFO、DEBUG。通过在这⾥定义的级别,您可以控制到应⽤程序中相应级别的⽇志信息的开关。⽐如在这⾥定义了INFO级别,则应⽤程序中所有DEBUG级别的⽇志信息将不被打印出来,也是说⼤于等于的级别的⽇志才输出。
⽇志记录的级别有继承性,⼦类会记录⽗类的所有的⽇志级别。
logger⽇志设置:
1、加包:log4j-1.2.16.jar ⼀般还会加⼊ commons-logging-1.1.1.jar
2、在CLASSPATH 下建⽴log4j.properties
[html]
1. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
2. log4j.appender.stdout.Target=System.out
3. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
4. log4j.appender.stdout.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n
5.
6. log4j.appender.file=org.apache.log4j.RollingFileAppender
7. log4j.appender.file.File=${catalina.home}/logs/ddoMsg.log
8. #log4j.appender.file.File=D:/SmgpAppService/logs/smgpApp.log
9. log4j.appender.file.MaxFileSize=1024KB
10. log4j.appender.file.MaxBackupIndex=100
11. log4j.appender.file.layout=org.apache.log4j.PatternLayout
12. log4j.appender.file.layout.ConversionPattern= %d{yyyy-MM-dd HH:mm:ss} %5p %c %t: - %m%n
13.
14. #INFO WARN ERROR DEBUG
15. Logger=WARN, file, stdout
16. #Logger=INFO,stdout
17. org.apachemons.logging.Log=org.apachemons.logging.impl.SimpleLog
18. #org.apachemons.logging.apachemons.digester.Digester=debug
19. #org.apachemons.logging.apachemons.digester.ObjectCreateRule=debug
20. #org.apachemons.logging.apachemons.digester.Digester.sax=info
21.
22. log4j.logger.jason.ddoMsg=debug
在要输出的⽇志的类中
定义:private static final org.apache.log4j.Logger logger = Logger(类名.class);
在类输位置:logger.info(XXX);
logger 配置说明:
1、 Logger=INFO, stdout , R
此句为将等级为INFO的⽇志信息输出到stdout和R这两个⽬的地,stdout和R的定义在下⾯的代码,可以任意起名。等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只显⽰INFO, WARN, ERROR的log信息,⽽DEBUG信息不会被显⽰,具体讲解可参照第三部分定义配置⽂件中的logger。
2、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(将⽇志信息以流格式发送到任意指定的地⽅)
3、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(包含⽇志产⽣的时间、线程、类别等等信息)
4、log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n
如果使⽤pattern布局就要指定的打印信息的具体格式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 输出⽇志事件的发⽣位置,包括类⽬名、发⽣的线程,以及在代码中的⾏数。
[QC]是log信息的开头,可以为任意字符,⼀般为项⽬简称。
输出的信息
[TS] DEBUG [main] Bean(189) | Returning cached instance of singleton bean 'MyAutoProxy'
5、 log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
此句与第3⾏⼀样。定义名为R的输出端的类型为每天产⽣⼀个⽇志⽂件。
6、log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log
此句为定义名为R的输出端的⽂件名为D:\\Tomcat 5.5\\logs\\qc.log可以⾃⾏修改。
7、 log4j.appender.R.layout=org.apache.log4j.PatternLayout
与第4⾏相同。
8、 log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
与第5⾏相同。
9、 log4j.logger. neusoft =DEBUG
指定usoft包下的所有类的等级为DEBUG。
可以把usoft改为⾃⼰项⽬所⽤的包名。
log4j2不打印日志10、 log4j.logger.opensymphony.oscache=ERROR
11、 log4j.logger.sf.navigator=ERROR
这两句是把这两个包下出现的错误的等级设为ERROR,如果项⽬中没有配置EHCache,则不需要这两句。
12、apachemons=ERROR
13、 apache.struts=WARN
这两句是struts的包。
14、 displaytag=ERROR
这句是displaytag的包。(QC问题列表页⾯所⽤)
15、 springframework=DEBUG
此句为Spring的包。
16、 hibernate.ps.PreparedStatementCache=WARN
17、hibernate=DEBUG
此两句是hibernate的包。
以上这些包的设置可根据项⽬的实际情况⽽⾃⾏定制。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论