Log4j LocationInfo Struts + Tomcat缓慢

时间:2014-09-17 08:30:37

标签: java tomcat log4j profile visualvm

我使用log4j-1.2.14.jar开发了一个Web应用程序,我看到了 org.apache.log4j.spi.LocationInfo占用了我占用CPU时间的76%。

我已检查过Java VisualVM

The problem

任何人都可以帮助我提高我的网络应用程序的效率

非常感谢你提前

1 个答案:

答案 0 :(得分:1)

在转换模式中,您可能在PatternLayout中使用了不应使用的转换字符。

使您的表现不佳的转化模式包括:

  • %l组合了包,类,方法和行号。文档说“它的生成非常缓慢,应该避免,除非执行速度不是问题”
  • %F filename
  • %L linenumber
  • %C classname(而不是使用%c)
  • %F filename
  • %M方法名称

而是使用%d{ISO8601}%d{DATE}%d{ABSOLUTE}而不是%d{dd MMM yyyy HH:mm:ss,SSS}。但是,性能损失并不像上面提到的转换模式那样显着。

请参阅log4j帮助中有关性能降低的警告:https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html