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