我时不时地遇到如下代码:
private final Logger log = LoggerFactory.getLogger(MyClass.class);
假设这是一个slf4j
记录器对象。如果使用Apache Commons Logging,甚至会调用该类Log
而不是Logger
.
我一直在考虑这个问题,并列出了以下两个选项的一些优点/缺点:
logger
使用而不是的原因log
- 目的:它是日志的编写者,而不是日志本身。
- Misleading:
log
是一个固有的误导性名称,因为无法读取日志。
log
使用而不是的原因logger
- 方法调用可读性:Logger 上可用的方法通常被命名
info()
,error()
等等。因此,log.error()
类似于“记录此错误”中大声说出的命令,而logger.error()
看起来更像是在记录器本身报告错误,更不用说logger.debug()
听起来像什么了。
所以,现在的问题。是否还有第三种选择来命名那个讨厌的 Logger?您在项目中使用什么,为什么?