如何通过Dmesg-E在Linux中设置内核日志,使其在多个控制台终端实时显示并按优先级排序?
- 内容介绍
- 文章标签
- 相关推荐
本文共计978个文字,预计阅读时间需要4分钟。
mesg+-E + 打开内核消息向控制台(console)的实时打印功能。它仅是启用内核消息向控制台(console)的实时打印功能,并不会更改这个级别。真正决定哪些消息能在终端上显示的,是内核的控制台日志级别(console_loglevel)。内核的控制台日志级别(console_loglevel)决定了哪些消息能在终端上显示。
要让不同控制台终端按需显示不同优先级的日志,核心在于:分别控制各虚拟终端(TTY)的 console_loglevel,并确保目标终端处于活动状态。Linux 默认只将消息输出到当前激活的虚拟控制台(如 Ctrl+Alt+F2),其他 TTY 不会自动收到日志,除非你主动切换或显式设置。
以下是实际可行的操作逻辑和步骤:
控制台日志级别决定“谁能看见什么”
内核用一个整数(0–7)表示控制台最低接收级别:
- 数值越小,要求越严格(只显示更严重的消息)
- 数值越大,显示越宽松(连 debug 都可能出来)
例如:设为4,则emerg(0)到warn(4)会输出,notice(5)及以下不会出现在控制台。
本文共计978个文字,预计阅读时间需要4分钟。
mesg+-E + 打开内核消息向控制台(console)的实时打印功能。它仅是启用内核消息向控制台(console)的实时打印功能,并不会更改这个级别。真正决定哪些消息能在终端上显示的,是内核的控制台日志级别(console_loglevel)。内核的控制台日志级别(console_loglevel)决定了哪些消息能在终端上显示。
要让不同控制台终端按需显示不同优先级的日志,核心在于:分别控制各虚拟终端(TTY)的 console_loglevel,并确保目标终端处于活动状态。Linux 默认只将消息输出到当前激活的虚拟控制台(如 Ctrl+Alt+F2),其他 TTY 不会自动收到日志,除非你主动切换或显式设置。
以下是实际可行的操作逻辑和步骤:
控制台日志级别决定“谁能看见什么”
内核用一个整数(0–7)表示控制台最低接收级别:
- 数值越小,要求越严格(只显示更严重的消息)
- 数值越大,显示越宽松(连 debug 都可能出来)
例如:设为4,则emerg(0)到warn(4)会输出,notice(5)及以下不会出现在控制台。

