Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1291921
  • 博文数量: 478
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4833
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-28 11:12
文章分类

全部博文(478)

文章存档

2019年(1)

2018年(27)

2017年(21)

2016年(171)

2015年(258)

我的朋友

分类: Android平台

2015-07-21 14:56:40

http://blog.csdn.net/henni386/article/details/7447259
内核日志的存储

 1.    地址

内核的日志存在log_buf指向的内存缓冲区中。

大小在新的内核是可配置的,CONFIG_LOG_BUF_SHIFT=xx

 2.  格式

 <level>xxxxxx


API

(1) printk:内核代码中常见的日志输出方式

(2)do_syslog/syslog: 内核提供的系统调用,用来操作log_buf

(3)klogctl:C库中提供的函数,用来使用上面的系统调用。

syslog系统调用支持下面的命令:

       *      0 -- Close the log.  Currently a NOP.

       *      1 -- Open the log.Currently a NOP.

       *      2 -- Read from the log.

        *     3 -- Read all messages remaining in the ring buffer.

       *      4 -- Read and clear allmessages remaining in the ring buffer

       *      5 -- Clear ring buffer.

       *      6 -- Disable printk toconsole

       *      7 -- Enable printk toconsole

       *      8 -- Set level of messagesprinted to console

       *      9 -- Return number ofunread characters in the log buffer

       *     10 -- Return size of the logbuffer

 

Tool

在shell中可以使用下面的方法直接操作内核log日志

(1)  dmesg:用来查看log_buf中的数据;

(2)  cat /proc/kmsg :也可用来读取log_buf中的数据

版权声明:本文为博主原创文章,未经博主允许不得转载

阅读(6474) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~