2010-11-03 128 views
4

我已经远离使用Log4J几年了。我现在正在使用org.jboss.logging包在JBoss 5下开发一个应用程序。回过头来,当我使用这种方法时,在日志记录级别检查中放入logger.info()消息是一种常见的技术。这避免了创建信息消息的相对昂贵的操作,无论如何它将被抛出。这里是一个例子:为什么Logger.isInfoEnabled不推荐使用org.jboss.logging.Logger?

if (logger.isInfoEnabled()) { 
     logger.info("AddRedemption response: \"" 
        + redemptionResponse.getResponseString() + "\""); 
    } 

但现在我发现我的可靠的IDE警告我isInfoEnabled已弃用。这直接导致我的两个问题:

  1. 为什么不推荐使用?
  2. 我应该用什么来代替?

在此先感谢您的帮助。

-mark

+1

根据他们的javadoc(http://www.docjar.com/docs/api/org/jboss/logging/Logger.html),这是因为(引用)isInfoEnabled()“用于低容量信息,你不要'不需要这个“。这有点老了,但可能会为你提供一些答案:http://community.jboss.org/blogs/dimitris/2005/04/01/the-deprecation-of-loggerisdebugenabled – 2010-11-03 20:46:07

回答

3

作为对评论所提到的,JBoss的记录器INFO日志级别用来记录低容量的信息。未提及的是INFO日志记录级别始终打印在控制台(屏幕)上,因此没有记录文件捕获INFO级别。由于开发人员不需要它,因此贬低它是有意义的。

关于某些日志级别弃用JBoss日志记录,有一个有趣的博客Dimitris Andreadi

+0

谢谢!我现在开悟了。 – 2010-11-04 18:44:17

相关问题