3
我使用org.jboss.logging.Logger类,似乎遇到了不协调。当出现错误或警告时,我只需使用logger.error("error message")
或logger.warn("warning message")
,它将根据jboss-log4j.xml文件中的设置显示。为什么在JBoss中需要使用isTraceEnabled()函数?
但是,基于现有的jboss代码this discussion和this link,使用跟踪时,必须先使用logger.isTraceEnabled()
确定是否启用跟踪。为什么看起来我需要这样做才能追踪?
明白了 - 所以这只是一个表演的事情。有意义,特别是对于每个请求发生的信息级别的东西 – JoshC13 2012-03-01 16:48:49
只要你知道,它取决于你使用的记录器。例如,org.slf4j.impl.Log4jLoggerAdapter会在内部进行检查,因此您根本不需要这样做。恕我直言,对于优秀的记录器来说,在内部进行这种检查是最有意义的,尤其是因为它已经知道了......只有当您的消息以比调用isTraceEnabled()更低效的方式构建时,才会获得性能提升。 http://stackoverflow.com/questions/21281048/should-i-be-using-slf4j-istraceenabled-or-not) – ndtreviv 2014-07-16 09:10:22