我在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