【问题标题】:Are there any scripts or other methods to parse tomcat logs? [closed]是否有任何脚本或其他方法可以解析 tomcat 日志? [关闭]
【发布时间】:2025-12-30 22:45:06
【问题描述】:

我是 * 的新手。如果我没有完成彻底搜索的作业,请原谅我。我在解析来自 tomcat localhost 日志和 catalina.out 文件的文本时遇到问题。我们都知道我们在这些文件中的任何一个中都会收到严重的警报。我想要一个脚本或免费软件来帮助我单独解析 SEVERE 警报并将邮件发送到我的电子邮件。

例如:

SEVERE: Error listenerStart
6 Jul, 2012 2:04:40 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [**********] startup failed due to previous errors
6 Jul, 2012 2:04:40 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc

SEVERE: The web application [**************] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
6 Jul, 2012 2:04:40 PM org.apache.catalina.startup.HostConfig deployWAR

INFO: Deploying web application archive server.war
6 Jul, 2012 2:04:40 PM org.apache.catalina.loader.WebappClassLoader validateJarFile

脚本必须从“SEVERE:....”解析到文本,直到下一个“SEVERE:....”或文件末尾。该脚本可以在 shell 或 python 或 ruby​​ 中。

【问题讨论】:

标签: python ruby tomcat6 logparser catalina.out


【解决方案1】:

真的吗?

bash 脚本有什么问题,例如:

grep ^SEVERE catalina.out | mail foo@bar.com

快照要求?试试这个:

grep ^SEVERE catalina.out > tmpFile
diff tmpFile snapshot | mail foo@bar.com
mv tmpFile snapshot

【讨论】:

  • 是否可以将其作为 cronjob 工作?这样,一旦记录了 SEVERE 或 ERROR,它就会立即邮寄...
  • 感谢 grep 命令。但这会收集所有严重的警报和邮件。如果脚本反复检查文件,一次只解析一个 SEVERE 警报并将其发送出去,那就太好了。 :)
  • 邮寄时滚动日志?还是像上面那样使用廉价的快照?
  • 我喜欢使用快照解决方案来跟踪自上次日志报告以来的差异。 =D
  • cd [catalina 的位置] ps -ef | grep tomcat | grep java | grep -v grep if [ $? -ne "0" ];然后 rm -f .ref;退出 0 fi export ALARM="$(cat catalina.out | wc -l)" if [ ! -f .ref ];然后回显 $ALARM > .ref elif [ $ALARM -gt $(cat .ref) ];然后 sed -n $(cat .ref),$(echo $ALARM)p Catalina.out | egrep -A 70 '严重|错误' | egrep -v 'INFO|org.apache' > .reflog; elif [ $ALARM -eq $(cat .ref) ];然后退出 2 fi export SIZE=$(ls -l .reflog | cut -d ' ' -f 5) if [ $SIZE -gt "0" ];然后 cat .reflog |邮件 -s 主题 mail@goes.here fi echo $ALARM > .ref
最近更新 更多