题
我犯了错误,并且在部署到生产之前没有从代码中删除调试行,并且一些不应该在日志中的信息在jboss日志文件中。如何让java程序通过keword过滤掉所有不需要的行?或者有没有这方面的工具?
解决方案
JBoss的日志记录由log4j处理,log4j配置文件是 conf / jboss-log4j.xml
。看看这个,如果有必要阅读log4j手册,它应该是相当不言自明的。如果您需要更多帮助,请提供一些您想要删除的行的示例。
其他提示
听起来你在问如何从现有日志中删除某些行。
以下是我在生产中启用调试后用于删除DEBUG消息的原因:
perl -w -n -i -e 'print unless ( /DEBUG/../ERROR|WARN|INFO|FATAL/ && !/ERROR|WARN|INFO|FATAL/)' server.log.1
您可以替换 perlre 中仅匹配您要删除的行内的任何内容,例如:
perl -w -n -i -e 'print unless ( /SensitiveDebugInfo/ )' server.log.1
我肯定只会在已经翻过的日志上运行此操作,以避免perl和amp;的潜在文件损坏。 jboss同时写入文件。
不隶属于 StackOverflow