记录器在java实用程序类中的使用
我只是想知道在编写java代码时在实用程序类中如何使用Logger API。我们总是可以使用logger,我们将使用我们的实用程序类来记录正确的消息,但我想问的是--记录器在java实用程序类中的使用,java,eclipse,logging,messaging,utility,Java,Eclipse,Logging,Messaging,Utility,我只是想知道在编写java代码时在实用程序类中如何使用Logger API。我们总是可以使用logger,我们将使用我们的实用程序类来记录正确的消息,但我想问的是-- 在实用程序类中使用Logger是一种好的做法吗?在所有实用程序类中使用java.util.logging.Logger是一个好主意。大多数Java日志框架都能够从这个日志记录器收集日志,并且您不需要捆绑任何库,因为它与jre一起提供。我假设您正在编写自己的*Util代码 就我个人而言,我避免在实用程序类中使用Logger,因为日志
在实用程序类中使用Logger是一种好的做法吗?在所有实用程序类中使用
java.util.logging.Logger
是一个好主意。大多数Java日志框架都能够从这个日志记录器收集日志,并且您不需要捆绑任何库,因为它与jre一起提供。我假设您正在编写自己的*Util代码
就我个人而言,我避免在实用程序类中使用Logger,因为日志文件中存在“噪音”。
如果实用程序类经过良好测试,则可以删除日志语句
只需记住只记录日志,而不在日志语句中执行任何业务逻辑(无论是否为实用程序类)
例如,我在我的一个项目中看到了下面的内容,这不是一个好的做法
log.info("Added = " + list.add("someString"));
另一个缺点是julapi非常慢而且丑陋。此外,如果您通过任何框架重定向这些日志记录器,将导致巨大的性能成本。如果您想向应用程序添加日志记录,请包括slf4j—它只是一个依赖项,代码紧凑,速度快,并且易于为代码使用者进行配置。我认为对于库或应用程序是不同的。如果我要打包一个完整的应用程序,我会添加log4j或其他东西,但是如果我想让其他人包括我的lib,我不会在我的代码中添加依赖项,如果不是真的需要的话。