我犯了错误,并且在部署到生产之前没有从代码中删除调试行,并且一些不应该在日志中的信息在jboss日志文件中。如何让java程序通过keword过滤掉所有不需要的行?或者有没有这方面的工具?
答案 0 :(得分:2)
JBoss的日志记录由log4j处理,log4j配置文件为conf/jboss-log4j.xml
。看看这个,如果有必要阅读log4j手册,它应该是相当不言自明的。如果您需要更多帮助,请提供一些您想要删除的行的示例。
答案 1 :(得分:0)
听起来你在问如何从现有日志中删除某些行。
以下是我在生产中启用调试后用于删除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同时写入文件。