rsyslog日志级别通过facility+priority组合控制,而非level=xxx;优先级从高到低为emerg、alert、crit、err、warning、notice、info、debug;可用*.warning等规则限制输出级别,修改后需重启rsyslog服务。

Linux系统中rsyslog的日志级别不是直接在配置文件里用“level=xxx”设置的,而是通过日志设施(facility)+ 优先级(priority)组合来过滤和路由日志。调整的关键在于修改/etc/rsyslog.conf或/etc/rsyslog.d/*.conf中的规则行,控制哪些日志被记录、写入何处、是否转发。
理解日志优先级(priority)与匹配逻辑
rsyslog支持8个标准优先级,从高到低依次为:emerg、alert、crit、err、warning、notice、info、debug。规则中常用的是“>=”、“==”、“.*”等操作符:
-
*.info表示所有facility的info及以上级别(即info、notice、warning、err…) -
mail.*表示mail facility的所有级别日志 -
authpriv.=info表示authpriv facility的恰好info级别(不包含notice或debug) -
daemon.!info表示daemon facility中排除info级别(即只记录其他级别)
调整本地日志输出级别(例如限制/var/log/messages只存warn以上)
编辑/etc/rsyslog.d/50-default.conf(或主配置中对应规则),找到类似这一行:
*.*;auth,authpriv.none -/var/log/syslog
若只想让/var/log/messages保存warning及以上日志,可改为:
*.warning;auth,authpriv.none -/var/log/messages
注意:该行末尾的-表示异步写入(提升性能),保留即可。改完后需重启服务生效:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~