我观察到,当我使用Logcat Eclipse ADT for Android时,我也从许多其他应用程序获得消息。是否有一种方法来过滤这个,只显示来自我自己的应用程序的消息。


当前回答

这显然是一个针对从开发人员设备外部使用Logcat的问题,但是如果你想在设备上(以编程方式)显示Logcat输出,你只需要这个:

Runtime.getRuntime().exec("logcat " + android.os.Process.myPid() + " *:D");

末尾的*:D会过滤掉Debug日志级别以下的所有消息,但您可以省略它。

直接输出到,比如说,一个TextView,请看这里的例子。

其他回答

当你在shell内部时,获取确切包名日志的另一种方法:

logcat --pid $(ps -ef | grep -E "com.example.app\$" | awk '{print $2}') 

使用-s !

你应该使用你自己的标签,看看: http://developer.android.com/reference/android/util/Log.html 喜欢的。 日志。d(“AlexeysActivity”,“你想要记录什么”); 然后当你想读取日志时使用> adb logcat -s AlexeysActivity 过滤掉所有不使用相同标签的内容。

为您的日志命名。我叫我的“娃娃儿”。

在Android Studio中,进入Android->编辑过滤器配置

然后输入给日志的名称。对我来说,它叫“娃娃儿”。下面是一些可以使用的过滤器类型的示例。您可以通过系统进行过滤。,系统。err,日志或包名:

为了访问日志,首先需要安装ADB命令行工具。ADB命令行工具是android studio平台工具的一部分,可以从这里下载。在此之后,需要设置adb工具的path/environment变量。现在您可以从eclipse终端/ intellij终端或mac终端(如果您使用的是macbook)访问logcat。

adb logcat:获取整个logcat。

adb shell pidof 'com.example.debug':获取应用程序的进程id。

adb logcat pid=<pid>:获取特定于应用程序的logcat。

adb logcat pid=<pid>|grep 'sometext':根据某些文本对logcat进行过滤。

有关过滤日志猫的更多信息,请阅读此。

尝试:Window -> Preferences -> Android -> LogCat。修改字段“如果…显示logcat视图”的值为“VERBOSE”。它帮助了我。