1

这个问题让我发疯,因为我不知道为什么这才开始发生,而且我已经浪费了一周的时间,完全没有进展。

我正在维护一个在 JBoss 4.3 上运行的遗留应用程序,使用:

  • Struts2
  • 休眠 3.2.5
  • 日志4J 1.2.15
  • ojdbc5(针对 Oracle 10g 的 Oracle JDBC 驱动程序)
  • Apache Commons Logging 1.1(脆弱的第三方自定义组件所需的恶意依赖)
  • c3p0 0.9.1.2

日志文件一直被(我猜是Apache?)垃圾污染,例如:

07:37:04,024 调试 [摘要] 新匹配 ='web-app/mime-mapping/extension'

07:37:04,024 调试 [Digester] 为 CallParamRule [paramIndex=0,attributeName=null,从 stack=false] 触发 begin()

07:37:04,024 调试 [sax] 字符(tcl)

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

07:37:04,028 调试 [摘要] 匹配 ='web-app/mime-mapping/extension'

07:37:04,028 调试 [摘要] bodyText='tcl'

07:37:04,028 调试 [摘要] 为 CallParamRule [paramIndex = 0,attributeName = null,从堆栈 = false] 触发 body()

07:37:04,028 调试 [消化器] 弹出正文

直到最近,当下一行后面跟着数十万行空白时,我才真正关心过。

07:37:04,024 调试 [摘要] 推送正文'

...

'

现在我非常关心,因为出于审计原因,我们必须无限期地维护这些日志文件,并且它们在服务器重新启动后以 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

这里有人提到,他们可能是类路径上漂浮的流氓 log4j.properties 或 simplelog.properties 的可能性,这导致了我的悲痛,但经过彻底的猎巫之后,我发现没有什么能真正抑制日志文件污染。

任何帮助或建议将不胜感激。

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

4

1 回答 1

1

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

于 2012-02-08T13:28:47.423 回答