运行遗留Struts应用程序的JBoss 4.3在日志文件中输出数十万个空行

时间:2012-02-08 13:16:42

标签: java logging log4j jboss-eap-4.3.x

这个问题让我抓狂,因为我不确定为什么这一切刚刚开始发生,我已经浪费了一个星期就完全没有进展。

我正在使用以下方式维护在JBoss 4.3上运行的遗留应用程序:

  • Struts2的
  • Hibernate 3.2.5
  • Log4J 1.2.15
  • ojdbc5(针对Oracle 10g的Oracle JDBC驱动程序)
  • Apache Commons Logging 1.1(脆弱的第三方自定义组件所需的Vile依赖)
  • c3p0 0.9.1.2

日志文件一直受到污染(我猜的是Apache?)垃圾一样:

  

07:37:04,024 DEBUG [Digester] New match ='web-app / mime-mapping / extension'

     

07:37:04,024 DEBUG [Digester]为CallParamRule开火()[paramIndex = 0,attributeName = null,来自stack = false]

     

07:37:04,024 DEBUG [sax] characters(tcl)

     

07:37:04,028 DEBUG [sax] endElement(,, extension)

     

07:37:04,028 DEBUG [Digester] match ='web-app / mime-mapping / extension'

     

07:37:04,028 DEBUG [Digester] bodyText ='tcl'

     

07:37:04,028 DEBUG [Digester] Fire Body()for CallParamRule [paramIndex = 0,attributeName = null,from stack = false]

     

07:37:04,028 DEBUG [Digester]弹出正文

直到最近,我还没有真正关心过下面一行是否有数十万的空白行。

  

07:37:04,024 DEBUG [Digester]推文正文

     

...

     

现在我非常关心,因为出于审计原因,我们必须无限期地维护这些日志文件,并在服务器重新启动后以20MB左右开始。

我最初认为通过禁用来自log4j.properties的Sax Digester日志记录我解决了问题但我没有尝试过任何工作。

http://programming.itags.org/development-tools/59562/

https://community.jboss.org/thread/4401

http://www.coderanch.com/t/47763/Struts/disable-struts-debug-info-messages

http://mail-archives.apache.org/mod_mbox/logging-log4j-user/200210.mbox/%3CBOEGILGABHIJHEMDBOICMELICNAA.dparmar@cgmpsystems.com%3E

http://deepaksrivastav.com/?p=63

http://www.mail-archive.com/log4j-user@logging.apache.org/msg10703.html

有人here提到他们可能是一个流氓log4j.properties或simplelog.properties浮在类路径上的可能性导致我这种悲痛但是在一次彻底的追捕之后我发现什么都没有真正压抑日志文件污染。

非常感谢任何帮助或建议。

编辑:下面的一个很好的建议提醒我,我已经尝试在此服务器实例的JBoss log4j xml配置文件中的所有内容上设置日志记录到WARN。字面上没有任何改变。我注意到临时文件和工作目录也没有得到正确的清理,所以我擦了它们但仍然没有。希望这些信息有助于而不是吓跑人们的想法,“伙计,那家伙搞砸了!” :)

1 个答案:

答案 0 :(得分:1)

关闭server / xxx / conf / jboss-log4j.xml中的调试日志记录。将其设置为信息,以便您不会看到所有这些不必要的日志记录行