Java Logging – Wrapper?

前端之家收集整理的这篇文章主要介绍了Java Logging – Wrapper?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从一个新项目开始,并对日志记录做了一些考虑.我总是使用模式,其中每个完成日志记录的类都有自己的静态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 APIthis article,getLogger()的主要原因是确保在子系统之间独立使用相同的Logger和Handler集.

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

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

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

猜你在找的Java相关文章