Какой регистратор я перечислю в моем log4j.xml, чтобы перехватить необработанные распорки 2 исключений?
В моем файле 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 анализируется правильно, так как я могу вручную создать класс java с помощью регистратора с именем error.unhandled и напрямую писать в него сообщения об ошибках. Коллега также предложил мне попробовать перехватить регистратор log4j.logger.error.unhandled, но это тоже не сработало.
Какой регистратор использует Struts 2 для перехвата исключений?