• linux-log系统日志输出等级


    系统日志输出等级

    系统定义了8个消息级别:none<debug<info<notice<warning<error<critical<alert<emerg
    none:不记录日志
    debug:调试信息,系统进行调试时产生的日志,不属于错误日志,不需要过多关注。
    info:一般的通知信息,用来反馈系统的当前状态给当前用户。
    notice:提醒信息,需要检查一下程序了,不理会可能会出现错误。
    warning:警告信息,当出现警告时,你的程序可能已经出现了问题,但不影响程序正常运行,尽快进行处理,以免导致服务宕掉。
    error:错误信息,出现这一项时,已经挑明服务出现了问题,服务都无法确认是否能正常运行。
    critical:比较严重的错误信息,服务已经宕了,可能已经无法修复。
    alert:警报信息,需要立即采取行动,不仅是服务宕了,还会影响系统的正常启动。
    emerg:紧急信息,系统可能已经不能使用了,如果不能解决,就重新装机吧。
    
    首先,printk有8个loglevel,定义在<linux/kernel.h>中,其中数值范围从0到7,数值越小,优先级越高。
    #define   KERN_EMERG     "<0>"     系统崩溃
    #define   KERN_ALERT     "<1>"     必须紧急处理
    #define   KERN_CRIT      "<2>"     临界条件,严重的软硬件错误
    #define   KERN_ERR       "<3>"     报告错误
    #define   KERN_WARNING   "<4>"     警告
    #define   KERN_NOTICE    "<5>"     普通但还是须注意
    #define   KERN_INFO      "<6>"     信息
    #define   KERN_DEBUG     "<7>"     调试信息
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    修改日志级别

    查看日志级别:
    #cat /proc/sys/kernel/printk
    2 1 1 2
    
    2 1 1 2分别代表的是:
    console_loglevel:控制台日志级别
    default_message_loglevel:消息日志级别的默认值
    minimum_console_loglevel:控制台日志级别的最小值
    default_console_loglevel:控制台日志级别的默认值
    
    修改日志级别:
    echo 0 4 1 7 > /proc/sys/kernel/printk
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    Centos7 Linux系统下生成https的crt和key证书
    【Linux系统编程】——深度理解5种IO模型
    猿创征文|『编程与创作』10款颜值颇高的宝藏工具
    蓝牙核心规范(V5.4)12.1-深入详解之PAwR
    javascript算法排序之冒泡排序
    Ubuntu Anaconda 环境下删除 protobuf
    mysql [ERROR] mysql unknown option ‘-a‘
    MQ - 39 Serverless : 基于MQ和Serverless设计事件驱动架构
    QCustomPlot绘图类详解(大白话)
    【笔者感悟】笔者的学习感悟【三】
  • 原文地址:https://blog.csdn.net/qq_42952079/article/details/125509296