log4j配置
1.日志输出类型
Log4j官方的appender给出了一下几种日志输出类型:
log4j.appender.xxx=下面之一,xxx为日志名称(自定义)
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
2.日志级别
Log4j根据日志信息的重要程度,分OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
Log4j官方建议实际实用的话,Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG
OFF 不打印日志
ALL打印所有日志
例子:log4j.rootCategory=INFO,xxx,yyy
3.日志输出样式
log4j.appender.stdout.layout=输出样式,下面之一
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
4.手动设置,日志打印样式
log4j.appender.STD1.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n
ConversionPattern用于指定具体的日志模板,参数如下:
%m 输出代码中指定的消息 //√
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名 //√
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n” //√
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HHss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。//√
[QC]是log信息的开头,可以为任意字符,一般为项目简称。
输出的信息示例:
[QC] DEBUG [main] AbstractBeanFactory.getBean(189) | Returning cached instance of singleton bean ‘MyAutoProxy’
5.配置实例
// 设置项目的日志输出界别为INFO及以上级别(ERROR、WARN)
// 日志输出到控制台、并每天生成一个日志文件;
log4j.rootLogger=INFO,STD1,DAILY
// 创建名称为STD1的日志出输出类型,
// 将该类型的日志在控制台输出
log4j.appender.STD1=org.apache.log4j.ConsoleAppender
// 输出的日志样式:可以灵活地指定布局模式
log4j.appender.STD1.layout=org.apache.log4j.PatternLayout
// 设置控制台输出日志的布局
// (%d)输出日志时间点、((%-4r)日志消耗的毫秒,4位数 ms)、(%-5p)输出日志的级别、
// [(%t)输出线程名称:(%r)线程消耗的毫秒数]、(%c)日志所属的类名称 、
// (x%)(按程序调用顺序输出日志):(%m)代码信息、(%n)回车、(%l)日志触发点在代码中的行号
log4j.appender.STD1.layout.ConversionPattern=%d (%-4r ms) %-5p [%t:%r] %c %x: %m%n%l
// 创建名称为DAILY的日志出输出类型,
// 将该类型的日志每天回生产一个日志文件
log4j.appender.DAILY=org.apache.log4j.DailyRollingFileAppender
// 日志的输出样式也灵活的指定,具体样式如下
log4j.appender.DAILY.layout=org.apache.log4j.PatternLayout
log4j.appender.DAILY.layout.ConversionPattern=%d (%-4r ms) %-5p [%t:%r] %c %x: %m%n%l
// 指定日志文件的路径和名称
log4j.appender.DAILY.File=${logDir}/mqmweb.log
// 给特定的包设置日志级别
// 设置lenovo,springframework包日志输出级别为DEBUG级别,(会打印debug和之上级别的日志)
log4j.logger.com.lenovo=DEBUG
log4j.logger.org.springframework=DEBUG
参考:
https://blog.csdn.net/qq_22771739/article/details/89055712
https://www.cnblogs.com/pigtail/archive/2013/02/16/2913195.html
https://blog.csdn.net/garfielder007/article/details/82874529
还没有评论,来说两句吧...