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中的规则行,控制哪些日志被记录、写入何处、是否转发。
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级别(即只记录其他级别)编辑/etc/rsyslog.d/50-default.conf(或主配置中对应规则),找到类似这一行:
*.*;auth,authpriv.none -/var/log/syslog
若只想让/var/log/messages保存warning及以上日志,可改为:
*.warning;auth,authpriv.none -/var/log/messages
注意:该行末尾的-表示异步写入(提升性能),保留即可。改完后需重启服务生效:
sudo systemctl restart rsyslog
如果某服务(如sshd)开启了debug日志导致/var/log/auth.log暴增,可在rsyslog配置中单独拦截:
/etc/rsyslog.d/20-sshd-limit.conf
这样既保留必要日志,又避免debug刷屏。记得测试语法:sudo rsyslogd -N1,无报错再重启。
调整后建议立即验证效果:
logger -p daemon.info "test info" 和 logger -p daemon.debug "test debug" 分别发两条日志/var/log/messages)是否只收到info那条sudo systemctl status rsyslog,留意是否有“invalid selector”类错误sudo rsyslogd -dn 2>&1 | grep -i "filter\|rule",可直观看到每条日志匹配了哪条规则不复杂但容易忽略的是:rsyslog按配置文件顺序逐行匹配,stop语句会终止后续处理,合理使用能精准控流。
以上就是Linux系统日志级别如何调整_rsylslog配置说明【指导】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号