如何在日志检查文件中发表评论?

Bla*_*ack 3 log-files logging regex

如何向 logcheck 忽略规则添加注释?

到目前为止我尝试过的事情:

  • #似乎匹配单个 # 字符而不是开始注释
  • 空行匹配所有内容
  • $匹配所有内容
  • $^似乎是一个“不可能”的正则表达式,即表达式结束后的表达式开始

有没有比用$^开始行更好的方法?

是否保证以$^开头的行永远不会匹配?性能呢?

cho*_*boy 9

logcheck 1.1.9.1(2002 年发布)[:space:]开始,#在将规则文件传递给 egrep 之前,将过滤掉空行、仅由字符组成的行和注释(以 开头的行)。

这是在通过的“编写规则”部分中提到docs/README.logcheck-database,这是可以在/usr/share/doc/logcheck-database/README.logcheck-database.gz我的系统上(Ubuntu的12.04,Logcheck的1.3.14):

logcheck 将预处理 [本地规则文件] 以消除危险的空白(因为“egrep '' syslog”匹配每一行)和注释行

这篇方便的 wiki 文章中也提到了这一点:“ Logcheck 管理”:

过滤器文件可能有注释行(以# 开头)和空行(仅包含一个或多个空格和制表符)。这些被 logcheck 忽略。

可以通过搜索函数在 logcheck源代码中进行验证,该cleanrules函数将过滤掉这些行的规则文件写入临时目录,然后再将它们提供给 egrep:

# pipe to cat on greps to get usable exit status
egrep --text -v '^[[:space:]]*$|^#' "$dir/$rulefile" \
    | cat >> "$cleaned/$rulefile"
Run Code Online (Sandbox Code Playgroud)