规则集就是定义一个规则的集合
# 加载模块
# 加载了用于本地系统日志的imuxsock模块和用于内核日志的imklog模块
module(load="imuxsock") # 用于本地系统日志
module(load="imklog") # 用于内核日志
# 定义模板
# 定义了一个名为MyFormat的模板,用于格式化日志消息
template(name="MyFormat" type="string" string="%TIMESTAMP% %HOSTNAME% %syslogtag%%msg%\n")
# 规则集
# 创建了一个名为MyRuleSet的规则集
ruleset(name="MyRuleSet") {
# 过滤器
# 如果消息包含“error”,则将其写入/var/log/error.log文件;否则,写入/var/log/messages.log文件
if $msg contains 'error' then {
# 动作
action(type="omfile" file="/var/log/error.log" template="MyFormat")
}
else {
action(type="omfile" file="/var/log/messages.log" template="MyFormat")
}
}
# 使用规则集
# 将MyRuleSet规则集应用于imuxsock输入模块。
input(type="imuxsock" ruleset="MyRuleSet")