logging - 有人真的使用 WARN 作为日志记录级别吗?

标签 logging

仅仅为了警告而不是错误分配不同的级别似乎有点矫枉过正。如果一个值是错误的,那么它是错误的,也可以,但不是。就我个人而言,我认为这类模糊决策使代码难以理解,因为人们不确定什么构成可接受的有效输入。如果您不接受废话并抛出异常,那么您的代码可能会更好,完全消除警告的需要。

还有许多其他级别可以获得更多日志记录,这些级别可能更值得拥有自己的级别 - 例如“配置”之类的内容。然而最终似乎大多数框架都解决了错误、警告、信息、调试和跟踪及其变体。

那么警告是如何幸存下来而其他级别却没有的呢?

最佳答案

对于我开发的软件,我使用以下区别。

  • 错误:程序无法执行所请求的操作。如果程序无法执行要求的操作,则需要输出一条错误消息。
  • 警告:程序检测到一些奇怪的事情,但这并不妨碍它执行所请求的操作。程序可以,但不是必需,在奇怪的情况下输出警告消息。

看来others do likewise .

例如,假设一个配置文件包含程序要检查的位置列表,该列表可能为空,但实际上绝不会为空。

  • 如果配置文件的格式不正确,程序会报告错误消息,因为它无法计算出您想要它执行的操作,因此无法执行您想要的操作。<
  • 如果配置文件未列出任何位置,它可能会报告警告,因为虽然在这种情况下它可以正确检查没有位置(即不执行任何有用的操作),但用户很可能事实上系统配置不正确。

关于logging - 有人真的使用 WARN 作为日志记录级别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4874335/

相关文章:

java - 记录器格式和 throwable、slf4j、参数

java - Spring RestTemplate - 如何启用请求/响应的完整调试/日志记录?

java - Spring : Logging not working with log4j or logback

java - 如何在log4j2中手动代码配置中为appender添加级别?

java - 当我增加 tomcat 上的负载时,log4j2 ParameterFormatter.appendCollection 中出现 ConcurrentModificationException

python - 如何在 Python 中记录包名称?

php - 内置的 PHP 服务器日志在哪里?

tomcat - 如何配置 jboss/tomcat 以防止日志文件中出现 j_password 纯文本内容

node.js - PM2 Logrotate不断生成新日志

java - 如何设置 Flume 以收集简单文件中的日志