我有一个应用程序,可以将一些日志打印到android日志系统中,它有一些我想要监控的关键字,我想要实现的是:
监视"adb logcat“输出,如果有新行包含关键字,则打印出新行。
它类似于adb logcat | grep "command“,但是正如您所知道的,adb logcat将在那里阻塞,因此我的grep看不到任何输入。使用简单的shell脚本可以做到吗?
发布于 2011-05-09 14:48:25
如果您查看http://developer.android.com/guide/developing/tools/adb.html,在标题为过滤日志输出的一节中,它描述了adb
的本机过滤功能。这可能对您有效。您可以在日志语句中指定特定的标记(本质上是您发送到bash
的任何标记),然后根据这些标记进行过滤。例如:
android.util.Log.v("filter1","<this is my log statement>");
就是代码,然后你就会做
adb logcat filter1:V
以过滤该输出。
编辑:您总是可以使用它来转储到一个文件,然后在该文件上运行bash
。
发布于 2015-05-19 18:48:34
要查看特定进程的logcat,请执行以下操作:
adb logcat | grep <process_id>
要使用标记名查看特定进程的logcat,请执行以下操作:
adb logcat | grep <process_id> | grep -s "TAG NAME"
|
充当组合不同查询的分隔符。
发布于 2013-08-16 17:02:42
您可以通过以下方式尝试
log_1=$(adb shell dumpsys meminfo com.azoi.azoitv | grep Views:)
echo $log_1
如果你想连续循环执行,你可以尝试这样做:
while :
do
log_1=$(adb shell dumpsys meminfo com.azoi.azoitv | grep Views:)
echo $log_1
done
https://stackoverflow.com/questions/5933468
复制相似问题