log4j典型配置快速上手笔记

本文详细解读了日志4j配置中的rootlogger和logger配置,包括如何引用配置项,不同配置项的作用以及日志格式化输出的方式。同时介绍了日志输出目的地的多种选择,如控制台、文件、日志滚动文件等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

================================
#root logger配置
log4j.rootLogger=DEBUG,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=   %-4r %-5p [%t] %37c %10x  %X{traceId} - %m%n  
-----------------------------------------------------------
#iphone.fc的logger配置
log4j.logger . iphone.fc=info,iphone
log4j.appender.iphone=org.apache.log4j.ConsoleAppender
log4j.appender.iphone.layout=org.apache.log4j.PatternLayout
log4j.appender.iphone.layout.ConversionPattern=[%d{MM dd HH:mm:ss}]>> %c %m%n
log4j. additivityiphone.fc=false
=================================================
红色部分即可以作为一个logger的名称引用此配置项,默认的配置或配置文件里面没有配置的logger name的日志会使用root logger的配置
例:
    Logger logger1 = Logger.getLogger("Sort.class"),此logger的logger name 为"Sort.class",在配置文件里面没有,则会使用root logger的配置
    Logger logger2 = Logger.getLogger("  iphone.fc "),此logger的logger name 为“ iphone.fc“,在配置文件里面可以找到,则会使用iphone.fc的配置
root logger为所有其他logger配置的上级,默认按root logger配置输出后再按本配置输出(即使用logger2输出日志时会先输出一条root logger格式的日志,再输出一条logger2获取的格式的日志),使用 additivity可以设置不附件root logger。

可以通过 conversion patterns 来控制日志的格式化输出

log4j.appender.A1.layout.ConversionPattern=[%d{yyyy-MM-dd hh:mm:ss SSS}]  %-4r %-5p [%t] %37c %10x  %X{traceId} - %m%n

    %d{yyyy-MM-dd hh:mm:ss SSS}:输出当前时间,格式为“年-月-日 时:分:秒 毫秒”
    %-4r:程序运行的毫秒数,-4表示输出占四个字符,左对齐;
    %-5p:日志级别,五个字符左对齐;
    %t:请求日志输出的线程;
    %37c:日志请求的logger名称,一般为Logger.getLogger(arg)设置的arg,占37个字符右对齐;
    %10x:通过NDC push的字符串;
    %X{traceId}:通过MDC put的key为traceId的值;
    %m:日志的真正内容;
    %n:输出一个换行符

Appender 为日志输出目的地,Log4j提供的appender有以下几种
 org.apache.log4j.ConsoleAppender(控制台),
 org.apache.log4j.FileAppender(文件),
 org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
 org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
 org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

转载于:https://my.oschina.net/zhdkn/blog/88806

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值