文章目录快速回答背景: printk和log level显示日志中的消息以更改控制台的log级别参考链接
快速回复sudo dmesg -n 8
或者
将printk设置为始终打印在终端上(将控制台的日志级别设置为8,最高)。
(注意:可能需要root权限)
echo '8'/proc/sys/kernel/printk tail-f/var/log/kern.log
背景知识: printk和log level printk的语法如下
打印(log level )、消息(message )、数组; 其中,log level是此printk打印的消息的严重级别。 日志文件/var/log/syslog文件,用于确定哪些信息打印在终端上,显示给用户,以及哪些信息保留在系统中。
Linux内核总共定义了8个严重级别,具体位于printk.h文件中(有时也位于linux/kernel.h中)。
具体内容如下。
# define kern _ emerg '0'/* systemisunusable *//紧急情况# define kern _ alert '1'/* actionmustbetakenimmediately * crion # define kern _ err '3'/* error conditions *//用于打印错误消息。 # define kern _ warning '4'/* warning conditions *///通常用于警告易发生(不太严重)错误的# define kern 正规应该注意的一些相对常见情况# define kern _ info '6'/* informational *///提供一些有用信息的许多驱动程序在检测硬件时#。
日志消息数字越小,重要性越高。
实时显示日志文件的内容。
tail-f/var/log/syslog http://www.Sina.com /
在终端上打印日志的内容。
dmesg
改变控制台日志级别的控制台也有这样的日志级别,称为console log level。 重要性高于此级别的消息将打印在控制台上。 其他的东西只需要填写kernel log (也称为kernel buffer )。 可以用dmesg命令显示。
可以在/proc/sys/kernel/printk中查看控制台的日志级别
cat /proc/sys/kernel/printk如下:
$ cat/proc/sys/kernel/printk4417输出中的四个数字分别表示控制台的日志级别、默认日志级别、最小日志级别和最大日志级别。
log级别4表示KERN_WARNING,因此,级别0-3的消息将输出到控制台,4-7的消息仅记录在内核日志中,可以通过dmesg命令进行查看。
可以通过以下方式更改控制台日志级别:
(注意:可能需要root权限)
sudo echo '6'/proc/sys/kernel/printk现在再次查看时,发现控制台的日志级别已更改为6(kern_info )。
$ cat/proc/sys/kernel/printk 6417
参考链接How can I show printk () message in console? -堆叠概述
How to display linux printk () messagesinvirtualconsole (tty1)- StackOverflow