Log4j 手册
Log4j 三个主要组件:
1 Logger
Logger 名称区分大小写,依据名称可以确定其层次结构(父子关系)。
2 Appender(目的地)
指的是:日值记录输出的目的地。
Log4j 支持的Appender有:
1) org.apache.log4j.ConsoleAppender (控制台)
2) org.apache.log4j.FileAppender (文件控制台)
3) org.apache.log4j.DailyRollingFileAppender (每天产生一个日志新文件)
4) org.apache.log4j.RollingFileeAppender (文件大小到达制定尺寸时产生一个新文件)
5) org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意制定的地方)
3 Layout(布局器)
Log4j 提供的layout:
1) Org.apache.log4j. HTMLLayout (以HTML 表格形式布局)
2) Org.apache.log4j. PatternLayout (可以灵活的制定布局模式)
3) Org.apache.log4j. SimpleLayout (包含日志的级别和信息字符串)
4) Org.apache.log4j. TTCCLayout (包含日志产生的时间、线程、类别等信息)
Log4j 参数
1) %m 输出代码中制定的消息。
2) %p 输出优先级,及DEBUT、INFO、WARN、ERROR、FATAL。
3) %r 输出应用启动到输出该log信息耗费的毫秒数。
4) %c 输出所属的类目,通常指所在类的全名。
5) %t 输出产生该日志事件的线程名。
6) %n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
7) %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,例如:%d {yyyy MMM dd HH:mm:ss,SSS} 输出为:2007年11月20日 09:36:00,921。
8) %l 输出日志事件的发生位置,包括类目名、发生的线程名、在代码中的行数。 例如:Testlog4j.main(TestLog4j.java:10)。
Prope
Log4j的配置
1 通过程序配置
2 通过Propert 文件配置
1) Logger 的配置
Log4j.rootLogger = [level (定义级别)] , appenderName , …….
2) Appender 的配置
Log4j.appender.appenderName = appender.class 全名
Log4j.appender.appenderName.option1 = value1
3) 配置日志信息的格式(布局)
4) 读取配置文件
5) 得到记录器:
读取配置文件 PropertyConfigurator.configure (String configFileName)
6) 插入记录信息(格式化日志信息)
3 通过XML 文件配置
使用Commons Logging 记录日志
例子:log4j.properties
log4j.rootLogger=debug , stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=c:/log4j.log
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.MaxFileSize=100K
log4j.appender.R.layout=org.apache.log4j.TTCCLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
log4j.category.com.ws=DEBUG,stdout