Linux怎么配置日志级别_Linux rsyslog日志级别配置方法教程【进阶】

酷墨同学_1936

酷墨同学_1936

2026-03-28

820人浏览

原创

rsyslog日志级别可通过修改配置文件中的facility.level规则、为特定服务创建独立配置片段,或基于$syslogseverity字段动态筛选来调整。

linux怎么配置日志级别_linux rsyslog日志级别配置方法教程【进阶】

如果您在Linux系统中使用rsyslog服务,但发现日志输出过于冗长或关键信息被淹没,则可能是由于rsyslog的日志级别未按需调整。以下是针对rsyslog配置日志级别的具体操作步骤:

一、修改rsyslog主配置文件中的全局日志级别

rsyslog默认通过/etc/rsyslog.conf或/etc/rsyslog.d/下的配置文件控制日志行为,其中日志级别由规则行中的facility.level语法决定,而非单一全局变量;但可通过调整规则匹配的level来实现效果等效的“全局过滤”。

1、使用root权限打开主配置文件:sudo nano /etc/rsyslog.conf。

2、查找包含auth,authpriv.*、*.info、mail.*等典型规则的行。

3、将目标规则中的info替换为所需级别,例如改为notice以排除debug与info级消息:*.notice /var/log/messages。

4、保存文件并退出编辑器。

5、重启rsyslog服务使配置生效:sudo systemctl restart rsyslog。

二、为特定服务单独设置日志级别

当仅需限制某类应用(如sshd、cron)的日志详细程度时,可在/etc/rsyslog.d/下创建独立配置片段,利用rsyslog的模块化特性实现精准控制。

1、新建专用配置文件:sudo nano /etc/rsyslog.d/50-sshd-level.conf。

2、写入以下内容以仅记录sshd的warning及以上级别日志:if $programname == 'sshd' then /var/log/sshd.log。

3、在下一行添加过滤条件:& stop,阻止该程序日志继续匹配后续规则。

4、为新日志文件设置权限:sudo touch /var/log/sshd.log && sudo chown syslog:adm /var/log/sshd.log。

5、重启rsyslog服务:sudo systemctl restart rsyslog。

三、使用rsyslog内置属性进行动态级别筛选

rsyslog支持基于$syslogseverity字段进行条件判断,可在运行时根据原始日志的数值severity值决定是否写入,从而实现比facility.level更细粒度的控制。

1、确认当前日志的severity数值映射关系:debug=7、info=6、notice=5、warning=4、err=3、crit=2、alert=1、emerg=0。

2、编辑/etc/rsyslog.d/60-dynamic-filter.conf文件,添加如下规则:if $syslogseverity 。

3、确保该规则位于其他通用规则之前,以避免提前匹配。

4、创建目标日志文件并授权:sudo touch /var/log/warnings-and-above.log && sudo chmod 640 /var/log/warnings-and-above.log。

5、重新加载配置:sudo systemctl reload rsyslog。

四、通过imjournal模块限制systemd journal输入的日志级别

若系统启用journald且rsyslog通过imjournal模块读取日志,则实际日志级别受journal本身限制影响,需同步调整journal配置以避免rsyslog收到过量低级别日志。

1、编辑journal配置文件:sudo nano /etc/systemd/journald.conf。

2、取消注释并修改MaxLevelStore=行,设为所需最低保留级别,例如:MaxLevelStore=warning。

3、同样可设置MaxLevelSyslog=限制转发给rsyslog的上限:MaxLevelSyslog=notice。

4、重启journald服务:sudo systemctl restart systemd-journald。

5、重启rsyslog确保imjournal重新连接:sudo systemctl restart rsyslog。

五、验证日志级别是否生效

配置变更后需通过生成测试日志并检查输出内容,确认指定级别及以下的消息是否被正确过滤或路由,避免误配导致关键日志丢失。

1、手动触发info级日志:logger -p user.info "This is an info test message"。

2、手动触发warning级日志:logger -p user.warning "This is a warning test message"。

3、查看目标日志文件内容:sudo tail -n 5 /var/log/messages 或对应路径。

4、使用journalctl检查原始journal条目:journalctl -n 10 -p warning。

5、比对rsyslog输出与journal原始级别,确认过滤逻辑符合预期。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
全局变量怎么定义
全局变量怎么定义

本专题整合了全局变量相关内容,阅读专题下面的文章了解更多详细内容。

2025.09.18

4125

12

python 全局变量
python 全局变量

本专题整合了python中全局变量定义相关教程,阅读专题下面的文章了解更多详细内容。

2025.09.18

1690

13

c++ 全局变量
c++ 全局变量

本专题整合了c++全局变量的使用、定义、作用域等等内容,阅读专题下面的文章了解更多详细内容。

2026.03.17

199

17

alert怎么实现换行
alert怎么实现换行

alert通过使用br标签来实现换行。更多关于alert相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.07

1277

8

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3870

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3333

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2473

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5950

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5602

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习