android java log.d_Android日志打印(11)

内核空间日志打印

日志保存

在linux内核中使用printk来实现日志打印输出且保存到/proc/kmsg,通过cat /proc/kmsg 或dmesg查看。

具体的打印级别如下:

#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 */

#deinfe KERN_ERR "<3>" /* error conditions */

#deinfe KERN_WARNING "<4>" /* warning conditions */

#deinfe KERN_NOTICE "<5>" /* normal but significant condition */

#deinfe KERN_INFO "<6>" /* informational */

#deinfe KERN_DEBUG "<7>" /* debug-level messages */

控制日志打印

在/proc/sys/kernel/printk保存了4个数字,分别表示当前控制台日志级别、未明确指定日志级别的默认消息日志级别、最高允许设置的控制台日志级别、引导时默认的日志级别。

当printk的日志级别高于当前控制台日志级别时,信息就会在控制台上显示。我们可以通过echo 0 > /proc/sys/kernel/printk或者类似于echo 0 1 4 7 > /proc/sys/kernel/printk来关闭日志打印

用户空间日志打印

在Android用户空间中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统。

79c174ba07f0

8090047.jpg

内核层面定义日志文件

在kernel的Logger驱动程序模块中(android\vendor\mstar\kernel\linaro\drivers\android\logger.c),定义了log_main、log_events、log_system和log_radio日志缓冲区,分别对应设备文件/dev/log/main、/dev/log/events、/dev/log/ra

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值