全部博文(478)
分类: Android平台
2015-07-21 14:56:40
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中的数据
版权声明:本文为博主原创文章,未经博主允许不得转载