Log4j核心
1>Logger
Logger完成日志信息的处理
2>Appender
Appender设置日志信息的去向
3>Layout
Layout设置日志信息的输出样式
Logger
可以定义输出的层次和决定信息是否输出
Logger输出的信息是有优先级别的
ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF
ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<OFF
设置级别后只会输出优先级别>=设置的级别
log4j.rootLogger=debug,appender1
log4j.rootLogger=info,appender1
log4j.rootLogger=error,appender1
Appender
设置日志信息输出到哪个地方
可以同时指定多个输出目的地
log4j.appender.appenderName=Appender.class
log4j.appender.appenderName.option1=value1
log4j.appender.appenderName.optionN=valueN
常用的有以下几个
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以串流格式发送到任意指定的地方)
org.apache.log4j.JdbcAppender(将日志信息保存到数据库中)
让日志信息保存在一个文件当中
log4j.appender.appender1=org.apache.log4j.FileAppender
log4j.appender.appender1.File=H:/demolog4j/demolog4j.log
Layout
指定日志信息的格式
配置的格式如下
log4j.appender.appenderName.layout=Layout.class
log4j.appender.appenderName.layout.option1=value1
Log4j提供的layout有以下几种
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、执行绪,类别等信息)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
设置输出的样式为HTML格式
log4j.appender.appender1.File=H:/demolog4j/demolog4j.html
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
PatternLayout
用来定制所输出的日志信息的样式
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%t 输出产生该日志事件的线程名
%f 输出日志信息所属的类别的类别名
%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,指定格式的方式:%d{yyyy-MM-dd HH:mm:ss}
%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类别的第几行
%m 输出代码中指定的信息,如log(message)中的message
%n 输出一个换行符号
log4j.rootLogger=debug,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
%-4r %-5p
输出字符的长度,超过就截取掉
[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M]%m%n
指定相应的包下
log4j.logger.com.test.wp=debug,appender1
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M]%m%n
指定相应的类
log4j.logger.com.test.wp.TestLog4j=debug,appender2
是否要使用日志信息
if(log.isDebugEnabled()){
log.debug("x="+longRunning());
}