[英]Handle all exceptions
我使用logback
来记录Java应用程序。 我如何通过logback
处理我的应用程序中的所有异常
我的测试配置
<appender name="exceptions" class="ch.qos.logback.core.FileAppender">
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator>
<expression>java.lang.Exception.class.isInstance(throwable)</expression>
</evaluator>
<onMatch>ACCEPT</onMatch>
</filter>
<file>exceptions.log</file>
<append>true</append>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern>
<immediateFlush>false</immediateFlush>
</encoder>
</appender>
假设您的意思是捕获所有异常,甚至是未捕获的异常:您可以在代码中尽早定义未捕获的异常处理程序:
private static void setDefaultUncaughtExceptionHandler() {
try {
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
LOGGER.error("Uncaught Exception detected in thread " + t, e);
}
});
} catch (SecurityException e) {
LOGGER.error("Could not set the Default Uncaught Exception Handler", e);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.