我正在寻找关于如何有效地记录异常及其堆栈跟踪的最佳实践文档(或您的意见)。当然,假设一个流行的日志框架,如Log4J,SLF4J,java.util.logging等在Java中用于异常堆栈跟踪记录的级别是什么?
我特别感兴趣的是你应该记录什么级别的堆栈跟踪的意见。
我听到一些相互矛盾的观点,如:
- 堆栈跟踪应该只在DEBUG级别记录而ERROR水平应该只包含“人类可读的”错误消息
- 堆栈跟踪,应登录ERROR级别,以便为操作员提供寻找异常根本原因所需的最大信息量
我发现了一些有趣的文章,但是他们都没有涉及到这个特殊主题:
- http://today.java.net/pub/a/today/2006/04/06/exception-handling-antipatterns.html
- http://today.java.net/pub/a/today/2003/12/04/exceptions.html
这可能意味着这些文章的作者有同样的问题,因为我做:-)
我会在你看来对这个问题很感兴趣。