是否有一个Logger可以轻松记录我的堆栈跟踪(我得到了什么
ex.printStackTrace())?我搜索了log4j文档,发现没有关于记录堆栈跟踪的信息.
我可以自己做
StringWriter sw = new StringWriter();
ex.printStackTrace(new PrintWriter(sw));
String stacktrace = sw.toString();
logger.error(stacktrace);
Run Code Online (Sandbox Code Playgroud)
但我不想在整个地方复制这些代码.
如果log4j不会为我执行此操作,是否有另一个日志包将为我记录堆栈跟踪?
谢谢.
Boz*_*zho 32
使用log4j,这可以通过以下方式完成:
logger.error("An error occurred", exception);
Run Code Online (Sandbox Code Playgroud)
第一个参数是要显示的消息,第二个参数是异常(throwable),其堆栈跟踪被记录.
另一个选项是commons-logging,它是相同的:
log.error("Message", exception);
Run Code Online (Sandbox Code Playgroud)
有了java.util.logging这可以通过这样做:
logger.log(Level.SEVERE, "Message", exception);
Run Code Online (Sandbox Code Playgroud)