加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java Logging – Wrapper?

发布时间:2020-05-31 07:21:18 所属栏目:Java 来源:互联网
导读:我从一个新项目开始,并对日志记录做了一些考虑.我总是使用模式,其中每个完成日志记录的类都有自己的静态Logger: private static final Logger logger = Logger.getLogger(LoggingInterceptor.class); 我不太喜欢这种方法,因为我必须将这一行复制到我将记录某

我从一个新项目开始,并对日志记录做了一些考虑.我总是使用模式,其中每个完成日志记录的类都有自己的静态Logger:

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

我不太喜欢这种方法,因为我必须将这一行复制到我将记录某些内容的每个类中.我考虑使用Android方法,其中有Log类,其中包含用于记录的静态方法.我开始在互联网上搜索其他人做的类似方法,但没有找到任何东西.

所以我的问题是:这种方法可能有什么不利之处?

我不能想到任何,而是有一些优点,因为它遵循DRY模式.可以使用带有’tags’的Android来处理不同的类别,’tags’是静态Log方法的参数.例如:

Log.debug(tag,message,exception);

然后,Log类本身将使用常见的Logging Framework,例如Log4j甚至SLF4J.

所以我对你的意见感兴趣.

解决方法

基于 java.util.logging.Logger API和 this article,getLogger()的主要原因是确保在子系统之间独立使用相同的Logger和Handler集.

Java推荐的解决方案是获取每个文件顶部的Logger,然后在每次需要时登录到该对象.

使用静态Log.debug将需要每次都处理标记,以便使用正确的Handler集.因此,它比准备好Log对象的效率低.

但是,如果您不使用处理程序,或者不区分子系统,那么静态函数将是一个合理的快捷方式,只要使用的库符合您的需要即可.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读