如何从命令行获取最后 5 分钟的日志

Posted

技术标签:

【中文标题】如何从命令行获取最后 5 分钟的日志【英文标题】:How to get log just for last 5 minutes from command line 【发布时间】:2016-05-07 10:44:14 【问题描述】:

如何获取最近时间的日志,例如最近 5 分钟?

命令行中的这个命令

adb logcat -v time | find "E/"

始终提供错误日志。

(在显示所有日志的同时等待几分钟并不有趣)

非常感谢!

【问题讨论】:

【参考方案1】:

adb logcat -T "$(date +'%m-%d %H:%M:%S.%q' -d '5 minutes ago')"

注意事项:

使用来自主机系统而非设备的时间,因此如果存在偏差,您必须对其进行纠正 需要 POSIX shell 和 date 命令(适用于 Linux 和 Mac,不确定 windows)

【讨论】:

我收到WARNING: -T invalid, setting to 1【参考方案2】:

-v time 命令显示发出消息的进程的日期、调用时间、优先级/标签和 PID。所以它不是日志实际时间戳的过滤器。我不相信有办法做到这一点。

不过,您可以使用adb logcat -c 清除日志。

【讨论】:

在应用“adb logcat -c”之后我一直收到日志( 嗯,这很奇怪。你用的是什么版本的安卓?现在就查一下,这似乎是 Lollipop 的一个已知问题:code.google.com/p/android/issues/detail?id=78916 是的,好像是版本问题。我的是 6.0.1 而且,经过进一步检查,我发现这是已知的解决方法:NOW=$(date +"%m-%d %H:%M:%S.000") ; adb logcat -T "$NOW",这实际上可能是您最初寻找的。​​span> 也很奇怪,我也在 6.0.1,但它对我有用。

以上是关于如何从命令行获取最后 5 分钟的日志的主要内容,如果未能解决你的问题,请参考以下文章

如何实时查看linux下的日志

查linux日志最后几行 用啥参数啊

Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)

检索最后 100 行日志

如何使用特定字符串从过去 10 分钟的日志文件中获取行

如何获取在 BigQuery 命令行工具中运行的最后一个作业的作业 ID?