![](/img/trans.png)
[英]Does "Logging with slf4j at warn level", prevent the running "logger.debug(..."
[英]Is it possible for logger.debug to produce error if logging level is info
我是记录器的新手,我只是想问如果我的日志级别是信息,我是否会收到错误,然后我有类似的东西:
logger.debug("hello " + object.getMethod());
它不在像下面这样的 if 块内:
if(LOGGER.isDebugEnabled){...}
此外,它是否会影响应用程序可能响应的时间。 如果它不在 if 块语句中?
所有日志方法也在内部检查级别。 如果为了性能,我们有isXYZEnabled
方法的原因。
考虑以下调用:
logger.debug("Value of myObject is: " + hugeObject.toString());
并假设hugeObject
对象,顾名思义,是巨大的。 构建它的字符串表示可能既耗时又耗内存,最终毫无意义,因为在创建字符串之后,如果级别未设置为调试,则不会记录任何内容。 相反,您可以在执行此转换之前明确检查级别,并节省可能花费的时间:
if (logger.isDebugEnabled()) {
logger.debug("Value of myObject is: " + hugeObject.toString());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.