代码之家  ›  专栏  ›  技术社区  ›  Yulin

禁用logger.debug会影响性能吗?

  •  0
  • Yulin  · 技术社区  · 6 年前

    我在申请中使用log4j。在开发中,我使用了大量logger.debug来显示调试信息。我知道在部署时可以通过更改配置文件中的日志级别来消除这些冗长的显示,我的问题是这会影响性能吗?是不是尽管调试级别被禁用了,但是日志记录工作仍然在那里并且默默地做一些事情?如果性能很重要,是否最好在最终部署版本中删除所有logger.debug代码?

    0 回复  |  直到 6 年前
        1
  •  2
  •   Thorbjørn Ravn Andersen    6 年前

    由于这个原因,现代的日志记录器很快从一个不活动的日志语句返回

    您需要知道构造要记录的字符串的代价。如果使用SLF4J作为前端,请使用 {} 推迟到测试结束

        2
  •  1
  •   Marcin Las    6 年前

    任何IO操作都会影响性能。即使您更改了日志记录级别,每次调用 log.debug ,记录器必须决定是否打印消息。然而,做决定比写文件/控制台/其他东西更快。