剂量禁用 logger.debug 影响性能?

Dose disabled logger.debug affects performance?

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

任何IO操作都会影响性能。即使你改变日志记录级别,每次调用 log.debug,记录器都必须决定是否打印消息。但是,做出决定比写入 file/console/something else 更快。

出于这个原因,现代记录器 return 从不活动的日志记录语句中非常快

您需要了解构造要记录的字符串的代价。如果您使用 slf4j 作为前端,请使用 {} 将其延迟到测试

之后