log4j(1.x)最全配置!!!
(本文持续更新中。。。
如果要彻底了解 log4j 的配置都起到了什么作用,当然要先看看 log4j 的内部原理啦 -> [占位符]
以下正文开始:
Part1. 如何让配置生效
log4j 并不提供默认的 appender,程序启动时,log4j 会自动寻找配置并初始化(见 org.apache.log4j.LogManager 的 static 代码段)
1)读取系统变量 log4j.defaultInitOverride 的值,如果值为 null(默认)或者 false,就会开始执行以下初始化步骤;否则跳过
2)读取系统变量 log4j.configuration 的值,该值为初始化配置文件的地址,默认为类路径下的 log4j.xml、log4j.properties(按先后顺序)
3)用初始化配置文件的地址构造一个 URL 对象
4)如果 url 有效,则用 org.apache.log4j.xml.DOMConfigurator 解析 xml 类型的配置文件,用 org.apache.log4j.PropertyConfigurator 解析 properties 类型的配置文件;否则中止初始化
Part2. propertes 类型配置文件如何配置
1 # 配置 logger 的 级别 和 appender 2 log4j.rootLogger=DEBUG, A1 3 log4j.logger.happyhacking=info 4 5 # 配置 appender 6 log4j.appender.A1=org.apache.log4j.ConsoleAppender 7 8 # 配置 appender 的 layout 9 log4j.appender.A1.layout=org.apache.log4j.PatternLayout 10 log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
Ref:
https://logging.apache.org/log4j/1.2/manual.html