编写应用程序,我使用slf4j作为记录器。这是我的配置:
<code>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%p] %d %c %M - %m%n" />
</layout>
</appender>
<appender name="exceptionAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.home}/logs/exception.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%p] %d %c %M - %m%n"/>
</layout>
</appender>
<!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="error" />
</logger>
<logger name="org.springframework.beans">
<level value="error" />
</logger>
<logger name="org.springframework.context">
<level value="error" />
</logger>
<logger name="org.springframework.web">
<level value="error" />
</logger>
<logger name="com.myPackage" additivity="false">
<level value="error" />
<appender-ref ref="exceptionAppender" />
</logger>
<!-- Root Logger -->
<root>
<priority value="error" />
<appender-ref ref="exceptionAppender" />
</root>
</log4j:configuration>
</code>
当我想记录异常时我需要使用try和catch但是我遇到了没有预期异常的问题。 你能帮我找到解决方案吗? 如何在我的java代码中登录未处理的异常?
谢谢你回答:)
答案 0 :(得分:0)
如何在我的java代码中登录未处理的异常
在设计时我更喜欢在顶层控制器中捕获所有异常,但是当应用程序的设计完成时,这种方法可能需要花费很多工作,因此面向方面的方法会更有效率。
我看到你的问题是用Spring标记的,在这样的框架中有一些方法可以实现你所需要的,你可以使用@ExceptionHandler
或@ControllerAdvice
。