Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
记录器在java实用程序类中的使用_Java_Eclipse_Logging_Messaging_Utility - Fatal编程技术网

记录器在java实用程序类中的使用

记录器在java实用程序类中的使用,java,eclipse,logging,messaging,utility,Java,Eclipse,Logging,Messaging,Utility,我只是想知道在编写java代码时在实用程序类中如何使用Logger API。我们总是可以使用logger,我们将使用我们的实用程序类来记录正确的消息,但我想问的是-- 在实用程序类中使用Logger是一种好的做法吗?在所有实用程序类中使用java.util.logging.Logger是一个好主意。大多数Java日志框架都能够从这个日志记录器收集日志,并且您不需要捆绑任何库,因为它与jre一起提供。我假设您正在编写自己的*Util代码 就我个人而言,我避免在实用程序类中使用Logger,因为日志

我只是想知道在编写java代码时在实用程序类中如何使用Logger API。我们总是可以使用logger,我们将使用我们的实用程序类来记录正确的消息,但我想问的是--


在实用程序类中使用Logger是一种好的做法吗?

在所有实用程序类中使用
java.util.logging.Logger
是一个好主意。大多数Java日志框架都能够从这个日志记录器收集日志,并且您不需要捆绑任何库,因为它与jre一起提供。

我假设您正在编写自己的*Util代码

就我个人而言,我避免在实用程序类中使用Logger,因为日志文件中存在“噪音”。 如果实用程序类经过良好测试,则可以删除日志语句

只需记住只记录日志,而不在日志语句中执行任何业务逻辑(无论是否为实用程序类)

例如,我在我的一个项目中看到了下面的内容,这不是一个好的做法

log.info("Added = " + list.add("someString"));
  • 登录代码的全部目标是,您应该能够通过查看日志来调试或查找任何异常的应用程序行为
  • 因此,如果您提到的实用程序类承载一个重要的逻辑/算法,您认为这里的记录器将帮助您在将来调试任何问题,那么您应该记录它
  • 但是,如果您的util类包含简洁的实用程序函数,而这些函数几乎不涉及任何复杂的逻辑,那么应该避免日志记录
    另一个缺点是julapi非常慢而且丑陋。此外,如果您通过任何框架重定向这些日志记录器,将导致巨大的性能成本。如果您想向应用程序添加日志记录,请包括slf4j—它只是一个依赖项,代码紧凑,速度快,并且易于为代码使用者进行配置。我认为对于库或应用程序是不同的。如果我要打包一个完整的应用程序,我会添加log4j或其他东西,但是如果我想让其他人包括我的lib,我不会在我的代码中添加依赖项,如果不是真的需要的话。