¿Qué logger enumero en mi log4j.xml para atrapar struts no controlados 2 excepciones?Log4j Logger para Struts 2 Exception Interceptor
he declarado el código siguiente en mi 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>
En mi archivo log4j.xml, tengo los siguientes registrador declarado:
<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>
Sin embargo, cuando se emite una Struts excepción, log4j no registra correctamente. Sé que mi log4j.xml se está analizando correctamente, ya que puedo crear manualmente una clase java con un registrador llamado "error.unhandled" y escribir mensajes de nivel ERROR directamente en él. Un colega también sugirió que debería intentar atrapar el logger log4j.logger.error.unhandled pero eso tampoco funcionó.
¿Qué registrador utiliza Struts 2 para el interceptor de excepción?
¿Puede registrar manualmente algo en el nivel WARN y hacer que aparezca en el registro? – skaffman
¿En qué tipo de contenedor se está desplegando? (es decir, Tomcat, JBoss, WebSphere) –