如何使用TinyLog记录运行时异常



在做tinylog实验时,我面临的问题是无法打印运行时异常日志。

对于int a =0;int b = 10;int c = b/a;

因为这将给出算术异常,但这不会在日志中记录。

您只需要捕获运行时异常并将其传递给记录器:

import org.tinylog.Logger;
public class Application {
public static void main(String[] args) {
try {
int a = 0, b = 10;
System.out.println(b / a);
} catch (RuntimeException ex) {
Logger.error(ex);
}
}
}

编辑:或者,你也可以使用UncaughtExceptionHandler来记录未捕获的异常:

import java.lang.Thread.UncaughtHandler;
import org.tinylog.Logger;
public class Application {
public static void main(String[] args) {
Thread.setDefaultUncaughtExceptionHandler(new TinylogHandler());
int a = 0, b = 0;
System.out.println(a / b);
}
private static class TinylogHandler implements UncaughtExceptionHandler {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Logger.error(ex);
}
}
}

最新更新