1. 配置文件(log4j.properties)
1.1 一个简单的配置文件(log4j.properties)
log4j.rootLogger=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize= 100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
第一行是配置根Logger,指定输出级别大于等于debug的调试信息,以及把调试信息输出到stdout和R两个地方。其语法为:
#log4j.rootLogger = [ level ] , appenderName, appenderName, …
[level] 指输出信息的级别;appenderName 指日志信息输出到什么地方(屏幕、文件…),其实这里appenderName相当于一个变量,后面需要设置具体的属性。
第2、3、4行是配置stdout这个变量的属性。
第2行 stdout这个目的地是输出到屏幕。
第3行 stdout的调试信息展现形式。
第4行 stdout的调试信息的输出格式。
第5~10行配置R这个变量的属性。与2、3、4行类似,只是这里配置的是输出日志信息到文件。
1.2 log4j的五级logger
FATAL 0
ERROR 3
WARN 4
INFO 6
DEBUG 7
注意:
1、配置文件中是不区分大小写的,也就是说log4j文件中的debug和DEBUG是一样的。
2、上面的例子 log4j.properties中的第一句配置的level是debug,而debug的级别是7,也就是最低的,所以其他所有级别的调试信息都可以输出。
1.3 log4j中的Appender
ConsoleAppender 输出到控制台
输出到文件
1.4 log4j中的输出布局
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)