您现在的位置是:首页 > 文章详情

Java 定义一个日志的时候应该如何定义

日期:2020-02-24点击:390

在很多情况下,我们都会使用 SLF4J 来定义日志。

那么如何定义一个 Logger 呢?

相信绝大部分人都会定义为:

private static final Logger logger = LoggerFactory.getLogger(BigDecimalDemoUnitTest.class); 

但是我们为什么要使用 private static final 来进行修饰呢?

private – 没有其他类可以劫持你的日志
static – 因为使用了静态,所以每一个类就只有一个日志,同时可以避免尝试序列化日志
final – 在类的生命周期中,不需要修改日志
同时,你可以定义变量 log 来替代 logger,这样能够减少输入的字符数。当然这个也需要根据你的项目要求来定了。

当然还有下面的一种情况,考察日志代码:

protected final Logger log = LoggerFactory.getLogger(getClass()); 

上面有关日志的定义与我们的规则是完全相反的。

上面的代码允许你在所有具有继承关系的类中使用相同的日志名(与实际的类名相同)。

例如:

如果类 Bar Extends Foo,那么上面 2 个类的日志将会 log 到 Bar logger 中。

link

原文链接:https://yq.aliyun.com/articles/746464
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章