有不同的方法来记录消息,按严重程度排列:
致命
错误
警告
信息
调试
跟踪
我如何决定何时使用哪个?
什么是好的启发式方法?
最佳答案
我通常遵守以下约定:
- 跟踪 - 仅当我“跟踪”代码并尝试专门查找函数的部分时。
- 调试 - 对诊断有帮助的信息,而不仅仅是开发人员(IT、系统管理员等)。
- 信息 - 要记录的一般有用信息(服务启动/停止、配置假设等)。我希望始终拥有可用的信息,但在正常情况下通常不关心。这是我开箱即用的配置级别。
- 警告 - 任何可能导致应用程序异常的情况,但我会自动恢复。 (例如从主服务器切换到备份服务器、重试操作、丢失辅助数据等)
- 错误 - 对操作而非服务或应用程序致命的任何错误(无法打开所需文件、丢失数据等)。这些错误将迫使用户(管理员或直接用户)干预。这些通常是为不正确的连接字符串、缺少的服务等而保留的(在我的应用程序中)。
- 致命 - 强制关闭服务或应用程序以防止数据丢失(或进一步丢失数据)的任何错误。我仅将这些保留用于最严重的错误以及保证数据损坏或丢失的情况。
关于logging - 何时使用不同的日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2031163/