0

我正在使用 windows cmd 终端使用以下命令输出我的应用程序的日志:

adb.exe logcat | find "%part_of_my_apps_name%"

但是,并非所有日志都出现在输出中。只有这样的消息:

I/AppService(10597): Received start id 1: Intent { cmp=package_name/.AppService(has extras) } 

在我的AppService我有以下代码:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {

    Log.i(TAG, "Received start id " + startId + ": " + intent);
    Log.i(TAG, "Test");

那么我做错了什么?

UPD:我问了一个错误的问题。我实际上使用了我的应用程序名称的一部分,而不是包,所以它必须出现在日志输出中。

4

3 回答 3

1

根据你的TAG变量是什么,你使用命令

adb.exe logcat -s "[tagname]"

例如,如果在我的代码中,我的 TAG 被声明为:

public static final String TAG = "com.myapp";

我的 LogCat 将是

adb.exe logcat -s "com.myapp"

看来引号也是可选的。

于 2012-12-20T21:44:56.370 回答
0

但是,我使用了应用程序名称的一部分,因为"find"基本上case sensitive它确实只显示了那个特定的输出(名称出现在包名称中),所以我想出了以下命令:

adb.exe logcat -v time | find "%part_of_my_apps_name%" /I
于 2012-12-21T02:51:42.170 回答
0

Logcat 输出与 不相关,但与您在代码中使用package name的字符串相关联。TAG您可以将所有标签更改为 your package name,或者您可以明确地将您添加package name到每Log.i/w/e/v()行的消息中,然后您将获得所需的行为。但是,我实际上会使用 @A--C 建议,因为它允许您仅对特定类的输出进行更精细的过滤。

于 2012-12-20T21:51:07.103 回答