我在log4j.xml中列出哪個記錄器來捕獲未處理的struts 2異常?Log4j Logger for Struts 2 Exception Interceptor
我在struts.xml中聲明下面的代碼:
<package name="default" extends="struts-default">
<interceptor-stack name="defaultStack">
<interceptor-ref name="timer"/>
<interceptor-ref name="logger"/>
<interceptor-ref name="exception">
<param name="logEnabled">true</param>
<param name="logCategory">error.unhandled</param>
<param name="logLevel">WARN</param>
</interceptor-ref>
</interceptor-stack>
</package>
在我的log4j.xml文件,我有以下記錄聲明:
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p [%c] - %C{1}.%M(%L) | %m%n"/>
</layout>
</appender>
<logger name="error.unhandled">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE" />
</logger>
然而,當Struts的拋出例外,它沒有被log4j正確記錄。我知道我的log4j.xml正在正確解析,因爲我可以用一個名爲「error.unhandled」的記錄器手動創建一個java類,並直接向它寫入ERROR級別的消息。一位同事還建議,我應該嘗試捕獲log4j.logger.error.unhandled記錄器,但這也不起作用。
Struts 2用於異常攔截器的記錄器是哪一種?
你能手動記錄一些WARN級別的東西,並讓它出現在日誌中嗎? – skaffman 2010-02-04 20:49:18
你要部署什麼類型的容器? (即Tomcat,JBoss,WebSphere) – 2010-02-04 22:57:37