为什么要在使用日志框架进行日志记录之前检查日志级别



为什么要有人写(伪代码(:

if ( logger.level == debug ){
    logger.debug("do my debug log");
}

我看不到背后的想法,因为日志框架只有在定义的日志级别允许的情况下才会记录。

谢谢。

我同意你的直觉,在这种情况下不需要检查。在快速搜索了为什么有人想要这样做的原因之后,我确实发现:https://stackoverflow.com/a/963681/346912

基本上,该帖子指出,在某些情况下,可能会在日志记录过程中完成昂贵的计算 - 例如从大型对象或集合中创建调试字符串。在这种情况下,通过条件检查避免该步骤更有意义。

最新更新