Регистратор Log4j для перехватчика Struts 2 исключения

Какой регистратор я перечисляю в своем 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 использует для перехватчика исключения?

6
задан David 4 February 2010 в 20:38
поделиться

2 ответа

Вы используете WARN уровня журнала в определении перехватчика. Измените это на ERROR, и вы увидите сообщения журнала, или, альтернативно, уменьшите уровень ведения журнала до WARN, INFO или DEBUG в файле log4j.xml.

Другими словами, перехватчик отправляет сообщение на уровне WARN, приложение консоли получает это сообщение, но выбирает не печатать его, потому что он настроен на печать только сообщений на уровне ERROR.

0
ответ дан 17 December 2019 в 04:46
поделиться

Для вашего регистратора в log4.xml установлено пороговое значение ОШИБКА , поэтому все, что зарегистрировано ниже этого уровня, будет не записываться. Конфигурация вашей struts настроена на регистрацию на уровне WARN , что ниже ERROR .

Вам, вероятно, следует уменьшить порог в log4j.xml регистраторе до WARN , чтобы получить что-нибудь.

0
ответ дан 17 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: