• 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
  • 相关阅读:
    深入解析 qsort 排序(上),它为什么是万能排序?
    源码分析:Actor模型架构
    java并发编程
    终于可以彻底告别手写正则表达式了
    【MySQL】第13章_约束
    Java错题归纳day10
    Python运算符、函数与模块和程序控制结构
    ubuntu安装docker
    JAVA最全面试题汇总基础篇(二)
    辩证性在需求面前毫无逻辑
  • 原文地址:https://blog.csdn.net/qq_42952079/article/details/125509296