同时记录logcat和内核日志

时间:2014-03-26 05:55:01

标签: android shell logcat android-logcat

我试图通过以下命令

获取日志(logcat和kmsg)
  

“logcat -v time -f / dev / kmsg | cat / proc /”

但是我不确定,存储日志文件的位置,以及它的名称。 我如何识别

6 个答案:

答案 0 :(得分:5)

好的,以下是Google快速搜索的结果:

我从这些链接得到的是:

  1. 命令的最后一部分实际上应该是cat /proc/kmsg
  2. logcat -v time -f /dev/kmsg将logcat输出写入内核消息缓冲区
  3. 所以,

    logcat -v time -f /dev/kmsg | cat /proc/kmsg
    

    会将logcat和内核日志输出到stdout(不管它是什么)。您可能会将输出写入文件,如下所示:

    logcat -v time -f /dev/kmsg | cat /proc/kmsg > /sdcard/log.txt
    

    上述内容适用于adb shell提示符,植根于Android 4.4.2设备。

    希望这有帮助。

答案 1 :(得分:1)

只需执行以下行,它将在logcat上显示内核消息

$ adb shell

$ logwrapper cat / dev / kmsg&

$ logcat

答案 2 :(得分:0)

这是一种快速的方法:

adb shell

logcat | cat /proc/kmsg

答案 3 :(得分:0)

这也是用于获取内核日志的logcat选项

adb logcat -b all

答案 4 :(得分:0)

使用以下命令: 启动cmd.exe / c“ adb shell cat / dev / kmsg> kmsg.txt” 启动cmd.exe / c“ adb logcat -v threadtime> logcat.txt”

答案 5 :(得分:0)

您尚未指定要使用的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.