log4j配置文件
一、log4j.properties配置文件
1、基本格式
#配置根Logger log4j.rootLogger = [ level ] , appenderName , appenderName1 , ... #配置日志信息输出目的地Appender及Appender选项 log4j.appender.appenderName = A.class log4j.appender.appenderName.c = value1 ... log4j.appender.appenderName.c = valueN
#配置日志信息的格式(布局)及格式布局选项 appender.appenderName.layout = B.class
log4j.appender.appenderName.layout.c= value1 ... log4j.appender.appenderName.layout.c= valueN
2、信息
(1)[ level ] 是日志输出级别:ERROR、WARN、INFO、DEBUG
ERROR 为严重错误 主要是程序的错误;
WARN 为一般警告,比如session丢失;
INFO 为一般要显示的信息,比如登录登出;
DEBUG 为程序的调试信息。
(2)信息输出的目的地A:
- org.apache.log4j.ConsoleAppender(控制台)
- org.apache.log4j.FileAppender(文件)
- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
(3)格式布局B:
- org.apache.log4j.HTMLLayout(以HTML表格形式布局)
- org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
- org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
- org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
(4)属性c:
<1>.ConsoleAppender控制台选项
Threshold=DEBUG: 指定日志消息的输出最低层次。
ImmediateFlush=true: 默认值是true,意味着所有的消息都会被立即输出。
Target=System.err: 默认情况下是:System.out,指定输出控制台
<2>.FileAppender 文件选项
Threshold=DEBUF: 指定日志消息的输出最低层次。
ImmediateFlush=true: 默认值是true,意谓着所有的消息都会被立即输出。
File=mylog.txt: 指定消息输出到mylog.txt文件。
Append=false: 默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
<3>.RollingFileAppender 每天生成一个文件选项
Threshold=DEBUG: 指定日志消息的输出最低层次。
ImmediateFlush=true: 默认值是true,意谓着所有的消息都会被立即输出。
File=mylog.txt: 指定消息输出到mylog.txt文件。
Append=false: 默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。
MaxBackupIndex=2: 指定可以产生的滚动文件的最大数。
(5)符号参数:
- %n - 换行
- %m - 日志内容
- %p - 日志级别
- %r - 程序启动到现在的毫秒数
- %t - 当前线程名
- %d - 日期和时间, 一般使用格式 %d{yyyy-MM-dd HH:mm:ss, SSS}
- %l - 输出日志事件的发生位置, 同 %F%L%C%M
- %F - java 源文件名
- %L - java 源码行数
- %C - java 类名,%C{1} 输出最后一个元素
- %M - java 方法名