每当发生异常时,我们应该记录堆栈跟踪吗?

时间:2014-05-21 10:46:47

标签: java exception logging

几乎每个日志记录实现都具有记录异常堆栈跟踪的功能。

因此,如果出现任何异常(包括RuntimeException),我们应该记录堆栈跟踪吗? 或者这应该依赖于我们的业务逻辑,因为有时我们会提出异常 表示配置问题或用于其他目的?

1 个答案:

答案 0 :(得分:1)

记录堆栈跟踪是完全可以接受的。它甚至可以帮助开发人员更快地调试问题但是,你必须非常严格地考虑一些问题。

  1. 重要确保堆栈跟踪中没有敏感详细信息。例如,在记录之前,应清除专有库的内部详细信息,用户凭据等。

  2. 从可用性的角度来看,确保不会将此记录的错误抛到您的实际用户界面。大多数客户不会欣赏技术功能细节的大墙。将其限制为日志文件或错误报告中的“高级”部分

  3. 使用日志记录级别过滤日志输出。将这些堆栈跟踪记录到低优先级,例如LogLevel.DEBUGLogLevel.INFO。通过这种方式,您可以轻松打开/关闭详细日志记录,并确保日志文件填充速度不会太快。