zoukankan      html  css  js  c++  java
  • Linux学习篇(十三):Linux 日志信息的查看

    关于内核日志的两个主要文件:

    1. /var/log/dmesg

    2. /var/log/messages

    dmesg 记录着开机时的内核日志,终端输入 dmesg 就可以查看文件dmesg 文件的内容 。printk ( ) 函数打印的日志可写到dmesg 或 messages 文件中。咦~ 这个树莓派的系统/var/log/下竟然没有 messages 文件。

    关于printk( ):

    内核中不能直接调用C标准库的函数比如printf ( ),但他有内核函数 比如 printk。题外话:Linux内核 内核可以通过user_modehelper( ) 来调用用户空间的可执行文件(如shell 脚本)。通过 printk() 输出的日志信息具有不同级别,日志级别是通过在 printk() 输出的字符串前加一个带尖括号的整数来控制的,如  printk("<4>Hello, world!/n");  ,尖括号数字组合 也可用 与之对应的宏定义字符串来代替。 如 <0> 可替换为 KERN_EMERG,所以 printk() 可以这样用: printk(KERN_WARNING "Hello, world!/n");  。内核中共提供了八种不同的日志级别,在 linux/kernel.h 中有对应的宏定义。

    #define KERN_EMERG      "<0>"    /* system is unusable */  
    #define KERN_ALERT      "<1>"    /* action must be taken immediately */  
    #define KERN_CRIT       "<2>"    /* critical conditions */  
    #define KERN_ERR        "<3>"    /* error conditions */  
    #define KERN_WARNING    "<4>"    /* warning conditions */  
    #define KERN_NOTICE     "<5>"    /* normal but significant */  
    #define KERN_INFO       "<6>"    /* informational */  
    #define KERN_DEBUG      "<7>"    /* debug-level messages */ 
    #define KERN_EMERG      "<0>"    /* system is unusable */
    #define KERN_ALERT      "<1>"    /* action must be taken immediately */
    #define KERN_CRIT       "<2>"    /* critical conditions */
    #define KERN_ERR        "<3>"    /* error conditions */
    #define KERN_WARNING    "<4>"    /* warning conditions */
    #define KERN_NOTICE     "<5>"    /* normal but significant */
    #define KERN_INFO       "<6>"    /* informational */
    #define KERN_DEBUG      "<7>"    /* debug-level messages */

    未指定日志级别的 printk() 采用的默认级别是 DEFAULT_MESSAGE_LOGLEVEL,这个宏在 kernel/printk.c 中被定义为整数 4,即对应KERN_WARNING。

    参考文章:      1.  dmesg 总结    2.  dmesg与printk命令

    << 转载需注明出处 >>
  • 相关阅读:
    The Water Problem HDU-5443
    约瑟夫环1
    迪杰斯特拉算法1 HDU-1874
    [20200729NOIP提高组模拟T2]学数数——坎坷
    [20200728NOIP提高组模拟T4]有趣的有趣的家庭菜园——自闭了
    [20200728NOIP提高组模拟T1]Copy
    [20200728NOIP提高组模拟T2]愉快的logo设计
    [20200727NOIP提高组模拟T3]计算几何
    [20200727NOIP提高组模拟T2]走路
    [CQOI2015]任务查询系统
  • 原文地址:https://www.cnblogs.com/Huae/p/13776172.html
Copyright © 2011-2022 走看看