“尝试追加封闭的appender”是什么意思?
以下是我的log4j.xml文件的一小部分
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="TRACE" />
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p: %m%n" />
</layout>
</appender>
<logger name="java.sql" additivity="false">
<level value="trace" />
<appender-ref ref="stdout" />
</logger>
我正在尝试打印一些sql查询,但是我收到了上述错误。我错过了什么吗?
答案 0 :(得分:18)
当我的log4j.xml包含由于复制 - 不 - 编辑而包含两个与同一个appender相同名称的记录器(也称为类别)时,我收到此消息。
答案 1 :(得分:9)
就我而言,我有两个可用于Log4J的log4j.properties:一个通过将它放在类路径中而另一个通过编程方式加载(使用PropertyConfigurator.configure(..)
)。
在这两个文件中,我ConsoleAppender
注册了同名stdout
并用于同一类别两次(每个属性文件中有一个)。删除配置或属性文件解决了我的问题。
答案 2 :(得分:2)
就我而言,我在同一个包名上使用了2个记录器元素。删除其中一个解决了问题。
<logger name="org.activiti.engine" additivity="false">
<level value="error" />
<appender-ref ref="LOGFILE" />
</logger>
<logger name="org.activiti.engine" additivity="false">
<level value="debug" />
<appender-ref ref="activitiBPMLog" />
</logger>