我希望所有 error 日志都打到 error.log 文件里,所以设定最顶层的 logger(com.baidu)日志级别为 error,子包(比如 com.baidu.trace )级别为 info,但是子包的 error 日志始终无法打到 error.log 里,而是和 info 日志一起打到子包配置的文件里。
1
vjnjc 2018-05-14 01:27:34 +08:00 via Android
我也想知道😂
|
2
zhantss 2018-05-14 03:48:52 +08:00
log4j 实现每一个等级的 Threshold 是按照优先级的包含关系确定写入文件的,比如 info 包含了 error 等
你需要控制写入文件的话需要自己实现一个 Appender,主要重写的方法是 isAsSevereAsThreshold,改成相同而不是 equals,默认返回还是 true 具体看这两段代码 https://github.com/apache/log4j/blob/trunk/src/main/java/org/apache/log4j/AppenderSkeleton.java#L218 https://github.com/apache/log4j/blob/trunk/src/main/java/org/apache/log4j/Priority.java#L123 |