是否可以以编程方式禁用log4j,以便调用一种方法和方法?

时间:2013-03-28 09:59:33

标签: java log4j profiling

有庞大的网络应用程序。当用户与Web应用程序交互时,大多数函数只被调用一次,因此没有性能问题。 我写了一个新的“从文件导入”方法,该方法从系统调用多次不同的方法。我不想修改其他人的方法也不想禁用log4j。从文件导入将很少使用,并被视为加载项,而不是主要功能。 由于这个原因,我遇到了性能问题。 在分析后,我发现log4j使用了近22%的时间。

是否可以以编程方式禁用log4j,以便调用一个方法和方法?

1 个答案:

答案 0 :(得分:5)

我认为出于性能原因,你应该更换这样的电话:

 log.debug("some informantion: " + objA);

用这个:

if(log.isDebugEnabled()) {
   log.debug("some informantion: " + objA);
}

或者您可以使用如下的FormatLogger类:https://stackoverflow.com/a/105908/548225

修改

要以编程方式禁用日志记录,您可以使用以下代码:

Logger.getLogger("your.logger.name").setLevel(Level.OFF);
Logger.getRootLogger().setLevel(Level.OFF);