记录时异常有什么好处?

Suz*_*ioc 2 java logging exception

假设我想在日志中反映异常.

我应该将堆栈跟踪传入log.error()或只是异常toString()吗?或者做些更好的事情?

如何获取堆栈跟踪字符串传递给记录器?

Tom*_*icz 5

所有现代日志框架都将传递的Exception对象视为特殊:

log.error("Danger! High Voltage!", ex);
Run Code Online (Sandbox Code Playgroud)

框架(让它成为)将很好地为您设置堆栈跟踪的格式.除非您确实知道自己在做什么,否则始终记录完整的堆栈跟踪.否则,您始终可以过滤掉给定记录器中的异常.

另请注意,许多重要的异常都没有提供有意义的消息,这NullPointerException是重要的例子.

  • +1使用`[tag:java]`学习答案中的标签! (3认同)