linux kernel log 级别设置

只有当printk打印信息时的loglevel小于console loglevel的值(优先级高于console loglevel),这些信息才会被打印到console上。

改变console loglevel的方法有如下几种:

  1. 启动时Kernel boot option:loglevel=level

  2. 运行时Runtime: dmesg -n level

(注意:demsg -n level 改变的是console上的loglevel,dmesg命令仍然会打印出所有级别的系统信息。)

  1. 运行时Runtime: echo $level > /proc/sys/kernel/printk
    echo 8 > /proc/sys/kernel/printk
    查看当前控制台的打印等级时,可以使用以下命令:
    cat /proc/sys/kernel/printk
    使用上述命令后,会打印4个数字,第一个即是当前控制台的打印信息等级。假设当前控制台的打印信息等级为7,那么所有打印信息等级小于等于7的打印信息都可以在控制台打印出来。
    ///
    附加
    通过procfs控制printk打印消息

  2. 查看当前printk打印消息的log等级

cat /proc/sys/kernel/printk

7 4 1 7

1
2
“7 4 1 7” 分别对应console_loglevel、default_message_loglevel、minimum_c onsole_loglevel、default_console_loglevel,意味着只有优先级高于KERN_DEBUG(7)的打印消息才能输出到终端

  1. 改变console_loglevel

echo 8 4 1 7 > /proc/sys/kernel/printk

1
输入“8 4 1 7”改变console_loglevel值,使得所有的打印消息都能输出到终端

///

  1. 运行时Runtime:写程序使用syslog系统调用(可以man syslog)
#include <unistd.h>
#include <sys/syscall.h>


static inline int syslog(int type, char *bufp, int len)

{

         return syscall(SYS_syslog, type, bufp, len);

}
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值