我正在使用org.jboss.logging.Logger类,似乎遇到了一种不协调。当我出现错误或警告时,我只需使用logger.error("error message")
或logger.warn("warning message")
,它将根据jboss-log4j.xml文件中的设置显示。
但是,根据现有的jboss代码this discussion和this link,当使用跟踪时,您必须首先确定是否使用logger.isTraceEnabled()
启用了跟踪。为什么看起来我必须单独追踪这个?
答案 0 :(得分:10)
你没有“必须”。没有它,它会正常工作。但是,TRACE级别的日志记录往往是大量冗长的,并且可能占用很大比例的CPU时间,即使它最终没有实际记录到文件中。通过对日志记录语句进行if
检查,可以避免这种开销。
我已经看到其他优质代码库对DEBUG和INFO级别日志记录也是如此,所以它不仅限于TRACE。
部分