小智 10
来自:http://www.jajakarta.org/log4j/jakarta-log4j-1.1.3/docs/TROUBLESHOOT.html
log4j输出中的重复项.
在log4j输出中观察重复项的原因是由于将相同的appender多次添加到同一类别(通常是root)或者将相同的appender添加到不同的类别,忽略了appender被累积继承的事实.
log4j不会消除appender重复.换句话说,如果将相同的appender添加到类别n次,则将调用该appender n次以附加到其目标.
稍微不同的原因是添加不同的appender,所有appender都将相同的底层输出目标共享到某个类别.在这种现象最常见的情况下,BasicConfigurator.configure()方法被多次调用.每次调用它时,此方法都会将一个带有System.out目标的appender添加到根类别.
另一个常见的错误是忘记了appender是从层次结构中累积继承的.例如,如果向根类别添加appender(例如A),则所有其他类别将继承A作为appender.因此,如果您将A添加到类别(例如C),那么类别C的启用语句将打印到A两次,一次因为A在root中而一次因为它在C中.
| 归档时间: |
|
| 查看次数: |
5265 次 |
| 最近记录: |