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 HH:mm:ss,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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值