我很疑惑爲什麼INFO語句會使它進入控制檯。下面是一般設置:幫我理解log4j appender相對於優先級的可加性
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<param name="Threshold" value="DEBUG"/>
<layout .../>
</appender>
<appender name="REST_LOG" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="/logs/rest.log" />
<param name="Threshold" value="INFO" />
....
</appender>
<category name="xyz.web">
<priority value="WARN" />
<appender-ref ref="CONSOLE" />
</category>
<category name="xyz.web.rest">
<priority value="INFO" />
<appender-ref ref="REST_LOG" />
</category>
所以我想INFO和上述聲明僅做REST_LOG並警告語句和上面去REST_LOG和控制檯。我所看到的是來自xyz.web.rest的INFO語句在REST_LOG中的預期,但也看到了來自CONSOLE中xyz.web.rest的INFO語句,這是我沒有想到的。
有人可以解釋發生了什麼嗎?
我可以知道如何將特定appender的加號標誌設置爲false?例如,我有一個針對錯誤的appender,另一個針對WARN的appender。我不想看到ERROR日誌文件中包含的WARN內容。我希望WARN日誌只出現在WARN日誌文件中,但不出現在ERROR日誌文件中。我可以知道這可以做到嗎? – huahsin68 2013-08-13 03:11:29