我有一个基于 Struts 2 MVC 的 Web 应用程序。我必须在我已经做过的应用程序中配置正确的日志记录并且它工作正常。
我现在想要的是,由于系统故障(例如丢失数据库连接、任何第三方服务关闭等),我需要将所有运行时异常和错误记录在我的应用程序日志文件中。
我阅读了有关Thread.UncaughtExceptionHandler 的信息,也阅读了这个答案,但仍然无法开始满足这个要求。
有人可以建议我如何开始吗?要上什么课?要配置什么?等等等等。另外,我的应用程序中没有涉及多线程。
谢谢!
下面是我的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>