1,log4j出处
log4j是apache组织下的一个开源的日志操作框架(http://logging.apache.org/)
在apache的Commons项目下也存在一个日志操作的子项目logging(http://commons.apache.org/logging/)
2,log4j核心
a),Logger:完成日志信息的处理
b),Appender:设置日志信息的去向
c),Layout:设置日志信息的输出样式
d),默认配置文件:log4j.properties,log4j.xml
3,log4j中常用的Appender
a),org.apache.log4j.ConsoleAppender(控制台)
b),org.apache.log4j.FileAppender(文件)
c),org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
d),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
e),org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
f),org.apache.log4j.jdbc.JDBCAppender(将日志信息以保存到数据库中)
g),其它Appender参见实现org.apache.log4j.Appender的类
4,log4j中常用的四种layout
a),org.apache.log4j.HTMLLayout:以HTML表格形式布局
b),org.apache.log4j.SimpleLayout:包含日志信息的级别和信息字符串
c),org.apache.log4j.TTCCLayout:包含日志产生的时间、线程、类别等信息
d),org.apache.log4j.PatternLayout :自定义布局格式
e),其它布局参见继承org.apache.log4j.Layout的类
5,用来定制PatternLayout布局样式的参数
%m 输出代码中指定的消息 %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,
比如:%d {yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日 22 : 10 : 28 , 921 %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
比如:Testlog4.main(TestLog4.java: 10 )
更多参数说明参考org.apache.log4j.PatternLayout的API文档
6,log4j输入日志信息的级别
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
详细参考:http://www.cnblogs.com/ITEagle/archive/2010/04/23/1718365.html