实例 log4j.properties 文件,如下:
log4j.rootLogger=DEBUG,CONSOLE,FILE,DailyRollingFile,RollingFile,EFile
#Console
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
#File 单独提取错误日志
log4j.appender.FILE = org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File =E:\\workForJava\\SSMTestLog\\ERROR.log
log4j.appender.FILE.Append = true
log4j.appender.FILE.Threshold = ERROR
log4j.appender.FILE.layout = org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern =%d [%t] %-5p %c - %m%n
#DailyRollingFile
log4j.appender.DailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DailyRollingFile.File =E:\\workForJava\\SSMTestLog\\ERROR.log
log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.DailyRollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#RollingFile
log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender
log4j.appender.RollingFile.File = =E:\\workForJava\\SSMTestLog\\ERROR.log
log4j.appender.RollingFile.MaxFileSize=1KB
log4j.appender.RollingFile.MaxBackupIndex=3
log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
#EFile
log4j.appender.EFile = org.apache.log4j.RollingFileAppender
log4j.appender.EFile.File = E:\\workForJava\\SSMTestLog\\ERROR.log
log4j.appender.EFile.MaxFileSize=1KB
log4j.appender.EFile.MaxBackupIndex=3
log4j.appender.EFile.layout = org.apache.log4j.PatternLayout
log4j.appender.EFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
1、日志等级说明:
ERROR、WARN、INFO、DEBUG,从左到右输出信息由少变多,等级由高变低
2、log4j总配置:
log4j.rootLogger = DEBUG,CONSOLE,FILE,DailyRollingFile,RollingFile
日志等级DEBUG
输出到CONSOLE, FILE, DailyRollingFile, RollingFile, EFile文件,名称自定义
3、定义文件名、输出类型
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
等号左侧:CONSOLE 是自定义文件名
等号右侧可选属性如下:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天一个日志)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
4、日志的输出路径
log4j.appender.FILE.File =d:\\log\\log_File\\log.log
5、自定义输出格式
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
%d:输出日志日期、时间
%t: 输出事件的线程名
%c:输出类名
%m:输出报错信息
%n: 输出换行
%p:输出日志信息级别(DEBUG,INFO,WARN,ERROR,FATAL),%-5p级别信息占5个字符,不足的用空格补齐,负号表示左对齐
-: 左对齐
%r: 输出自应用启动到输出该log信息耗费的毫秒数
%t: 输出产生该日志事件的线程名
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类名、线程,行数
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中
%%: 输出一个"%"字符
%F: 输出文件名称
%L: 输出行号
可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
1)%20c:指定输出名称,最小的宽度是20,默认右对齐。
2)%-20c:指定输出名称,最小的宽度是20,"-"号指定左对齐。
3)%.30c:指定输出名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。
4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边较远输出的字符截掉。
6、多次运行时日志是否追加,默认为true
log4j.appender.FILE.Append = true
7、单独设置 “FILE” 文件的输出级别,区别于第2条总配置
log4j.appender.FILE.Threshold = ERROR
8、文件最大容量
log4j.appender.RollingFile.MaxFileSize=1KB
9、文件最大数量
log4j.appender.RollingFile.MaxBackupIndex=3
文章引用
http://blog.java1234.com/blog/q.html
https://www.cnblogs.com/dragkiss/p/3948619.html