【发布时间】:2014-05-04 08:38:13
【问题描述】:
我正在尝试通过以下命令获取日志(logcat 和 kmsg)
“logcat -v 时间 -f /dev/kmsg | cat /proc/”
但是我不确定日志文件的存储位置以及它的名称。 如何识别它
【问题讨论】:
标签: android shell logcat android-logcat
我正在尝试通过以下命令获取日志(logcat 和 kmsg)
“logcat -v 时间 -f /dev/kmsg | cat /proc/”
但是我不确定日志文件的存储位置以及它的名称。 如何识别它
【问题讨论】:
标签: android shell logcat android-logcat
您尚未指定您使用的 Android 版本,但如果您使用的是 8.1 及更高版本,则完全有可能在 logcat 输出中包含带有时间戳的内核消息。
要将它们一起打印在一个文件中,请使用以下命令:
$adb logcat -b all -d > logcat_all.txt
如果您想将带有时间戳的内核消息与其他日志分开使用:
$adb logcat -b kernel -d > logcat_kernel.txt
-b <buffer> 在这里指定您希望在输出中包含哪些缓冲区,其中一个可能的缓冲区是内核,默认情况下不包括在内。如果您设置-b all,那么您将拥有所有这些。更多详情请参考logcat --help
-b <buffer>, --buffer=<buffer> Request alternate ring buffer, 'main',
'system', 'radio', 'events', 'crash', 'default' or 'all'.
Multiple -b parameters or comma separated list of buffers are
allowed. Buffers interleaved. Default -b main,system,crash.
【讨论】:
使用以下命令: 启动 cmd.exe /c "adb shell cat /dev/kmsg > kmsg.txt" 启动 cmd.exe /c "adb logcat -v threadtime > logcat.txt"
【讨论】:
这里也是获取内核日志的 logcat 选项
adb logcat -b all
【讨论】:
只需执行以下行,就会在 logcat 上显示内核消息
$ adb shell
$ logwrapper cat /dev/kmsg &
$logcat
【讨论】:
这是一个快速的方法:
adb shell
logcat | cat /proc/kmsg
【讨论】:
好的,以下是快速 Google 搜索的结果:
我从这些链接中得到的是:
cat /proc/kmsg
logcat -v time -f /dev/kmsg 将 logcat 输出写入内核消息缓冲区所以,
logcat -v time -f /dev/kmsg | cat /proc/kmsg
会将 logcat 和内核日志都输出到stdout(不管它是什么)。可能,您可以将输出写入文件,如下所示:
logcat -v time -f /dev/kmsg | cat /proc/kmsg > /sdcard/log.txt
以上内容在有根的 Android 4.4.2 设备上的 adb shell 提示符下工作。
希望这会有所帮助。
【讨论】: