web-dev-qa-db-ja.com

Eclipse LogCatビューアーでタグ名を除外する方法

LogCatを「スパム」するAndroidアプリケーションがあります。出力を読みやすくするために、logcatエントリを削除したいと思います。

特定のタグ名のLogCatエントリを削除するフィルターを使用することはできますか?または、トリックを行う検索パターン?

72
Jleuleu

はい。 [ログタグによる]フィールドが

^(?!.*(MYTAG)).*$

ここで、MYTAGは表示したくないタグです。私は正規表現の専門家ではないので(「正規表現」?;-))、その否定を行うより簡単な方法があるかもしれませんが、私はそれを試しただけで機能します。

次のように、フィルター文字列を入力することにより、Log Catメッセージ領域のすぐ上のフィールドでフィルターをいじることができます。

tag:^(?!.*(DeskClock|dalvik|wpa)).*$

すべてのメッセージを表示します除くタグ "DeskClock"、 "dalvik"、および "wpa"。

180
Rob Cranfill

これは質問に直接関連していないように思えるかもしれませんが、タグフィルターにこれを配置すると、システム生成ログのほとんどを除外する正規表現があります Robによる説明

^(?!(WifiMulticast|WifiHW|MtpService|PushClient|InputMethodManager|Provider|SurfaceTextureClient|ImageLoader|dalvikvm|OpenGLRenderer|skia|AbsListView|MediaPlayer|AudioManager|VelocityTracker|Drv|Jpeg|CdpDrv|IspDrv|TpipeDrv|iio|ImgScaler|IMG_MMU|ResMgrDrv|JpgDecComp|JpgDecPipe|mHalJpgDec|PipeMgrDrv|mHalJpgParser|jdwp|libEGL|Zygote|Trace|InputEventReceiver|SpannableStringBuilder|IInputConnectionWrapper|MotionRecognitionManager|Choreographer|v_galz|SensorManager|Sensors|GC|LockPatternUtils|SignalStrength|STATUSBAR-BatteryController|BatteryService|STATUSBAR-PhoneStatusBar|WifiP2pStateTracker|Watchdog|AlarmManager|BatteryStatsImpl|STATUSBAR-Clock))

さまざまなデバイスでテストを行っているときに、タグのリストを更新し続けます。リストは完全ではなく、この回答に自由に貢献できます。これにより多くの人が1時間節約できると確信しています。

他に除外する必要があるログがある場合は、 '|を使用してこの正規表現に追加します。 ' キャラクター。

9
Vinay Wadhwa

Logcatの表示方法によって異なります。

GUI logcatインターフェースを使用している場合、表示するタグのフィルターを作成するのが最善です。これらは別のカテゴリに分類されます。 UIは少し変更されましたが、これを使用できます 私からの古い回答 。これがどのように使用されるかを明確にする必要があります(「保存されたフィルタータブを表示する」ボタンが押されていることを確認してください。ログの右上))ログストリーム全体から特定のタグを除外するオプションを認識していません。

コマンドラインを使用している場合、特定のタグをミュートできます。例:

adb logcat AndroidRuntime:S *:V

すべてを表示します(*:V)詳細ログレベルまで。ただし、タグAndroidRuntimeは除きます。これは「無音」ログレベルに制限され、何も印刷されません。 。

単一のタグを表示するには、使用できます

adb logcat *:S MyAppTag:V OtherTag:V

同様に、MyAppTagおよびOtherTagを除くすべてが沈黙します。詳細については、「 ログ出力のフィルタリング 」を参照してください。

8
user658042

Android Studio(IDE Android = SDK)。しかし、次の正規表現は私の問題を解決しました:

^(?!dalvikvm)
5
Mailson

トリックがあります:

 Log.d(TAG, "MyTag" + message);

ご覧のとおり、キー「MyTag」でフィルタリングすると、タグのログのみが表示されます。

3
R4j

これは応答が遅いですが、おそらく便利です。 Eclipse環境のLogCatビューでは、テーブルの上に検索ボックスがあります。空の場合、次のように表示されます。

メッセージを検索します。 Java正規表現。スコープを制限するために、pid:、app:、tag :、またはtext:の接頭辞を受け入れます。

つまり、tag:MyTagまたは正規表現tag:My。*と書くことでタグをフィルタリングできます。

1
ilomambo

アプリに由来しないログメッセージを除外する別の方法は、以下を選択することです。

ログレベル:詳細

「選択したアプリケーションのみを表示」(フィルター選択ドロップダウンから)

次に、logcatウィンドウのデバッグ可能なドロップダウンリストからアプリケーションを選択します。

これにより、アプリからのログメッセージと出力のみが表示されます。

0
Elliott