我是靠谱客的博主 大方微笑,最近开发中收集的这篇文章主要介绍日志输出等级:/proc/sys/kernel/printk,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

一、作用

二、背景介绍

1.日志等级

2.日志等级文件

3.设置日志信息等级


一、作用

        通过读写 /proc/sys/kernel/printk 文件可读取和修改控制台的日志级别。如插入键鼠时弹出设备的输入输出msg信息等。

二、背景介绍

1.日志等级

        内核通过 printk()  输出的信息具有日志级别,日志级别是通过在 printk()  输出的字符串前加一个带尖括号的整数来控制的,如 printk("<6>Hello, world!n"); 。内核中共提供了八种不同的日志级别,在 linux/kernel.h 中有相应的宏对应。

#define KERN_EMERG  "<0>"   /* systemis unusable */
#define KERN_ALERT  "<1>"   /* actionmust be taken immediately */
#define KERN_CRIT    "<2>"   /*critical conditions */
#define KERN_ERR     "<3>"   /* errorconditions */
#define KERN_WARNING "<4>"   /* warning conditions */
#define KERN_NOTICE  "<5>"   /* normalbut significant */
#define KERN_INFO    "<6>"   /*informational */
#define KERN_DEBUG   "<7>"   /*debug-level messages */

未指定日志级别的 printk()  采用的默认级别是 DEFAULT_MESSAGE_LOGLEVEL ,这个宏在kernel/printk.c  中被定义为整数 4,即对应 KERN_WARNING
在宏定义中,数值越小,优先级越高,其紧急和严重程度就越高。

2.日志等级文件

在系统下通过读写 /proc/sys/kernel/printk 文件,来读取控制台的日志信息:

[root@localhost ~]# cat /proc/sys/kernel/printk
4       4       1       7
(1) 控制台日志级别:优先级高于该值的消息将被打印至控制台。
(2) 缺省的消息日志级别:将用该值来打印没有优先级的消息。
(3) 最低的控制台日志级别:控制台日志级别可能被设置的最小值。
(4) 缺省的控制台:控制台日志级别的缺省值。

这四个值是在 kernel/printk.c 中被定义的:

int console_printk[4] = {

                DEFAULT_CONSOLE_LOGLEVEL,       /* console_loglevel */

                DEFAULT_MESSAGE_LOGLEVEL,       /* default_message_loglevel */

                MINIMUM_CONSOLE_LOGLEVEL,     /* minimum_console_loglevel */

                DEFAULT_CONSOLE_LOGLEVEL,       /* default_console_loglevel */

};

3.设置日志信息等级

[root@localhost ~]# cat /proc/sys/kernel/printk
4       4       1       7
[root@localhost ~]# echo 8 > /proc/sys/kernel/printk
[root@localhost ~]# cat /proc/sys/kernel/printk
8       4       1       7
[root@localhost ~]# echo 8 1 1 1 > /proc/sys/kernel/printk
[root@localhost ~]# cat /proc/sys/kernel/printk
8       1       1       1

实例:


转自:https://cloud.tencent.com/developer/article/1555243

最后

以上就是大方微笑为你收集整理的日志输出等级:/proc/sys/kernel/printk的全部内容,希望文章能够帮你解决日志输出等级:/proc/sys/kernel/printk所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部