工作生活

【转】Android下的系统日志

2019-07-08  本文已影响0人  RonZheng2010

1. 用户空间日志

用户空间日志可以用logcat抓取。还可以用grep对日志进行过滤,如下的命令过滤内容中包含TAG_A或TAG_B的日志。

logcat | grep -E 'TAG_A|TAG_B'

如果是在开发主机上,可以通过adb shell执行logcat命令。

adb shell "logcat | grep -E 'TAG_A|TAG_B'"

可以用__android_log_print()等一系列函数写日志。

__android_log_print (ANDROID_LOG_INFO,"TAG_A","hello,%s","world");

2. 内核空间日志

内核空间日志用dmesg打印全部内核消息。

dmesg

或者通过/proc/kmsg增量式地打印内核消息:第一次打印全部消息,再次打印则只打印新新消息。

cat /proc/kmsg

在开发主机上,也可以用adb shell 执行上述命令。

在Linux内和开发中,用printk()打印内核消息。在应用层,可以通过/dev/kmsg打印内核消息。

char message[] = "hello";
int fd = open ("/dev/kmsg", O_RDWR);
if (fd >= 0)
{    
   write (fd, message, sizeof(message));
   close(fd);  
}    

参考资料

adb打印内核调试信息dmsg和kmsg说明
https://blog.csdn.net/love_xsq/article/details/78860619

通过va_list和/dev/kmsg在串口打印调试信息
https://blog.csdn.net/ttxgz/article/details/7067168

Android7.0 klog机制(如何将android log打印到kernel log中)
https://blog.csdn.net/fu_kevin0606/article/details/53339001

DDMS全称:Dalvik Debug Monitor Service
https://www.cnblogs.com/Nick1994/p/8510185.html

Android开发入门(三)之调试工具adb,ddms
https://blog.csdn.net/guanmjie/article/details/4439361

Android日志打印
https://www.jianshu.com/p/79c174ba07f0

上一篇下一篇

猜你喜欢

热点阅读