相关疑难解决方法(0)

如何将堆栈跟踪发送到log4j?

假如您执行e.printStackTrace(),则会捕获异常并在标准输出(例如,控制台)上获取以下内容:

java.io.FileNotFoundException: so.txt
        at java.io.FileInputStream.<init>(FileInputStream.java)
        at ExTest.readMyFile(ExTest.java:19)
        at ExTest.main(ExTest.java:7)
Run Code Online (Sandbox Code Playgroud)

现在我想把它发送到一个记录器,比如log4j,以获得以下内容:

31947 [AWT-EventQueue-0] ERROR Java.io.FileNotFoundException: so.txt
32204 [AWT-EventQueue-0] ERROR    at java.io.FileInputStream.<init>(FileInputStream.java)
32235 [AWT-EventQueue-0] ERROR    at ExTest.readMyFile(ExTest.java:19)
32370 [AWT-EventQueue-0] ERROR    at ExTest.main(ExTest.java:7)
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

try {
   ...
} catch (Exception e) {
    final String s;
    ...  // <-- What goes here?
    log.error( s );
}
Run Code Online (Sandbox Code Playgroud)

java logging log4j stack-trace

147
推荐指数
6
解决办法
13万
查看次数

标签 统计

java ×1

log4j ×1

logging ×1

stack-trace ×1