![修改 swatch conf 文件以匹配匹配项下方的多行](https://linux22.com/image/575859/%E4%BF%AE%E6%94%B9%20swatch%20conf%20%E6%96%87%E4%BB%B6%E4%BB%A5%E5%8C%B9%E9%85%8D%E5%8C%B9%E9%85%8D%E9%A1%B9%E4%B8%8B%E6%96%B9%E7%9A%84%E5%A4%9A%E8%A1%8C.png)
我们使用 swatch 读取 PHP 日志并通过电子邮件发送给我们。目前,它通过电子邮件发送一行错误,但无法匹配接下来的几行堆栈跟踪。
例如:对于这样的日志文件:
..
Line1: PHP Fatal error: something bad happened in /php/files/whoami.php
Line2: PHP Stack trace:
Line3: PHP 1. more info about the error above
Line4: PHP 2. still more info about the error above
Line5: PHP 3. still still more info about the error above
Line6: PHP Fatal error: something bad happened in /php/files/whoareyou.php
..
它通过电子邮件发送第 1 行,然后是第 6 行。我想获取与第 1 行相同的电子邮件中下一行的信息。[还有一个问题是堆栈跟踪行可以是从 0 到 6 的任何行]
样本配置行:
watchfor /(PHP Fatal error: .*)/i
mail addresses=macmon\@mydomain.com,subject="Errors" threshold=on threshold track_by=$1,type=limit,count=1,seconds=5
答案1
我在搜索类似问题时发现了这一点。我认为 LogSurfer 是另一个可以使问题更“干净”的工具有上下文..