• 【Linux】printk优先级设置


    1. printk 优先级分类

      printk 是内核态打印函数。我们可以通过附加不同的“优先级”,对信息分类。

    1.1 优先级列表

      目前共有 8 种优先级,按优先级从高到低顺序排列如下:

    1 #define KERN_EMERG     0    /*紧急事件消息,系统崩溃之前提示,表示系统不可用*/
    2 #define KERN_ALERT     1    /*报告消息,表示必须立即采取措施*/
    3 #define KERN_CRIT      2    /*临界条件,通常涉及严重的硬件或软件操作失败*/
    4 #define KERN_ERR       3    /*错误条件,驱动程序常用KERN_ERR来报告硬件的错误*/
    5 #define KERN_WARNING   4    /*警告条件,对可能出现问题的情况进行警告*/
    6 #define KERN_NOTICE    5    /*正常但又重要的条件,用于提醒*/
    7 #define KERN_INFO      6    /*提示信息,如驱动程序启动时,打印硬件信息*/
    8 #define KERN_DEBUG     7    /*调试级别的消息*/

    2. printk 优先级配置

    2.1 /proc/sys/kernel/printk

      Linux 中,printk 优先级设置在 /proc/sys/kernel/printk 中。可以通过以下命令,查看相关配置:

    1 $ cat /proc/sys/kernel/printk
    2 4    4    1    7

    2.1.1 参数 1

      控制台日志级别:优先级高于该值的消息将被打印至控制台。

    2.1.2 参数 2

      缺省的消息日志级别:将用该值来打印没有优先级的消息。

    2.1.3 参数 3

      最低的控制台日志级别:控制台日志级别可能被设置的最小值。

    2.1.4 参数 4

      缺省的控制台:控制台日志级别的缺省值。

    3. /proc/sys/kernel/printk 默认值修改

      /proc/sys/kernel/printk 的默认值在 linuxSrc/include/linux/printk.h 中定义:

    1 #define console_loglevel             (console_printk[0])
    2 #define default_message_loglevel     (console_printk[1])
    3 #define minimum_console_loglevel     (console_printk[2])
    4 #define default_console_loglevel     (console_printk[3])

      console_printk 的定义在 linuxSrc/kernel/printk/printk.c 中:

    1 int console_printk[4] = {
    2     CONSOLE_LOGLEVEL_DEFAULT,       /* console_loglevel */
    3     MESSAGE_LOGLEVEL_DEFAULT,       /* default_message_loglevel */
    4     CONSOLE_LOGLEVEL_MIN,           /* minimum_console_loglevel */
    5     CONSOLE_LOGLEVEL_DEFAULT,       /* default_console_loglevel */
    6 };
  • 相关阅读:
    ThinkPHP讲解(一)框架基础
    smarty简单介绍
    留言板
    文件系统处理
    文件上传(带有预览模式)
    文件上传(无预览模式版)
    注册、登陆、审核练习
    session讲解(二)——商城购物车练习
    session讲解(一)——登录网页练习
    P6216 回文匹配
  • 原文地址:https://www.cnblogs.com/murongmochen/p/14324648.html
Copyright © 2020-2023  润新知