У меня есть веб-приложение на основе Struts 2 MVC. Я должен был настроить правильную регистрацию в приложении, которое я уже сделал, и его работа прекрасна.Использование UncaughtExceptionHandler в приложении Struts
Что мне сейчас нужно, мне нужны все исключения и ошибка во время выполнения из-за сбоя системы (например, потерянное соединение с базой данных, любая сторонняя служба и т. Д. И т. Д.), Чтобы быть зарегистрированным в моем файле журнала приложений.
Я прочитал о Thread.UncaughtExceptionHandler, а также прошел через this ответ, но по-прежнему не в состоянии начать работу с этим требованием.
Может кто-нибудь предложить мне, как начать с этим? Какие классы делать? Что настроить? и т. д. Также, чтобы сказать, в моем приложении нет многопоточности.
Спасибо!
Ниже мой log4j.properties
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${catalina.home}/logs/backlogApp.log
log4j.appender.file.MaxFileSize=1000KB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-4p %m%n
log4j.appender.DatePattern='.'yyyy-MM-dd
# Root logger option
log4j.rootLogger=WARN, file
log4j.logger.com.nagarro=WARN
# OFF Hibernate and Spring
log4j.logger.org.hibernate=OFF
log4j.logger.org.springframework=OFF
# OFF all JDBC parameters
log4j.logger.org.hibernate.type=OFF
Кроме того, глобальный обработчик исключений в struts.xml
<global-results>
<result name="error">/jsp/errorpage.jsp</result>
<result name="sessionexpired">/jsp/login.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception"
result="error" />
<exception-mapping exception="javax.persistence.PersistenceException"
result="error" />
</global-exception-mappings>
Нет, его не касается перенаправления на страницу с ошибкой, если произошло какое-то исключение, которое я уже сделал с использованием глобального сопоставления обработчиков исключений в struts.xml. Мне нужно, предположим, что я выполняю действие, вызывающее стороннюю службу, но эта служба недоступна (скажем, веб-служба), тогда моя консоль eclipse показывает исключение ** wsdl не найден **, но когда я склонен видеть в директории tomcat/logs я не могу ее найти. Теперь, в будущем, если это произойдет при производстве, как я буду отслеживать основную причину? Это моя последняя проблема. –
@VaibhavShukla Затем ваш журнал настроен неправильно. –
См. Сделанные изменения. Я добавил конфигурацию ведения журнала. Я не думаю, что это вызывает проблемную проблему, занесенные исключения идут в файл должным образом. –