zoukankan      html  css  js  c++  java
  • 终端下更改printk打印级别

    如何去更改printk的打印级别?

    1、查看当前控制台的打印级别

    # cat /proc/sys/kernel/printk

     

    该文件有4个数字值,它们根据日志记录消息的重要性,定义将其发送到何处,上面显示的4个数据分别对应如下:

    控制台日志级别:优先级高于该值得消息将被打印到到控制台;

    默认的消息日志级别:将用该优先级来打印没有优先级的消息;

    最低的控制台日志级别:控制台日志级别可被设置的最小值(最高优先级);

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

    以上的数值设置,数值越小,优先级越高。

    上面这个4个值的定义在kernel/printk.c,如下:

     

    内核通过printk()输出的信息具有日志级别,日志级别是通过在printk()输出的字符串前带一个尖括号的整数来控制的,例如:printk(“<6>Hello World! ”);。内核中提供了8种不同的日志级别,在linux/kernel_levels.h中有相应的宏定义,如下:

     

    因此,printk()可以这样来使用:

    printk(KERN_INFO”Hello World
    ”);

    当未指定日志级别的printk()采用默认的级别是DEFAULT_MESSAGE_LOGLEVEL,这个宏定义为整数4。

    如果想要在内核启动过程中打印少的信息,可以根据自己的需要在kernel/printk.c中修改以上的数值,重新编译后,烧写内核镜像。

    2、修改printk的打印级别

    在系统的终端处修改打印级别,例如,屏蔽所有的内核printk打印,那么只需要将第一个数值调到最小值1或0即可

    # echo 1       4       1      7 > /proc/sys/kernel/printk
    or
    # echo 0       4       0      7 > /proc/sys/kernel/printk
  • 相关阅读:
    get和post
    java学习day34-Cookie技术
    java学习day33-Maven-相关
    在Linux设置完共享文件夹后无法显示Windows里的文件
    Tomcat-把tomcat的端口号从8080修改为80
    是否忘记向源中添加“#include“StdAfx.h””
    php-fpm配置文件详解
    Web安全常见漏洞修复建议
    blog个性化设置
    使用 notepad++ 编辑器在行首、行尾添加字符
  • 原文地址:https://www.cnblogs.com/Cqlismy/p/11358446.html
Copyright © 2011-2022 走看看