Android - adb logcat without debug logs

AndroidAdb

Android Problem Overview


I don't want to see debug logs from adb logcat command. There are tons of debug logs from my phone and I don't want to see them.

adb logcat --help says " *:I " will output only info logs but is there any option to filter all logs except debug.

Android Solutions


Solution 1 - Android

From the docs here, when you specify a log level filter, it will show all messages at that level and higher. The levels are specified as:

> The tag of a log message is a short string indicating the system component from which the message originates (for > example, "View" for the view system). > > The priority is one of the following character values, ordered from lowest to highest priority: > > - V: Verbose (lowest priority) > - D: Debug > - I: Info > - W: Warning > - E: Error > - F: Fatal > - S: Silent (highest priority, on which nothing is ever printed) > > ... > > The following filter expression displays all log messages with priority level "warning" and higher, on all tags: > > adb logcat *:W

So with this in mind, passing the filter you mentioned *:I will log everything but Verbose and Debug logs.

Unless your intention is to show Verbose as well as the other log levels, I don't think you can do that because specifying Verbose includes anything above Verbose.

If that is the case, it might be useful for you to filter on a specific tag instead of a specific log level, or some combination of both.

Solution 2 - Android

adb logcat *:I will display all logs with priority INFO and higher.

>The priority is one of the following character values, ordered from lowest to highest priority: > >

  • V — Verbose (lowest priority)
  • D — Debug
  • I — Info
  • W — Warning
  • E — Error
  • F — Fatal
  • S — Silent (highest priority, on which nothing is ever printed)

The above information is available in Write and View Logs with Logcat

Solution 3 - Android

To enable logging on some Huawei devices:

  • Dial *#*#2846579#*#*

  • Select 'ProjectMenu'

  • Select 'Background Setting'

  • Select 'Log Setting'

  • Select 'Log Switch'

  • Enable 'LOG on'

  • Select 'Log level setting'

  • Enable 'DEBUG'

  • Press the 'Back' key

  • Select 'Dump and Log'

  • Enable 'Open Dump and Log'

  • Press 'Back' key 5 times to return to home screen.

  • Reboot the phone.

LogCat should now work.

Solution 4 - Android

logcat won't let you show Debug only but you can show Debug and higher (Debug, Info, Warning, Error, Fatal) with:

adb logcat YourLogTag:D *:S

The *:S suppresses logs from other apps.

You can pipe the result through grep to only show Debug:

adb logcat YourLogTag:D *:S | grep "D YourLogTag"

Solution 5 - Android

If you're on zsh like on Catalina OSX instead of bash you may need to perform the following commands:

Use --- noglob adb logcat *:E --- replace the E with whatever, below.

Alternatively you can also use --- adb logcat '*:E' --- (quotes around)

V: Verbose
D: Debug
I: Info
W: Warning
E: Error
F: Fatal
S: Silent

The reason being that Zsh interprets the wildcard as you wanting to expand files ending in that letter without the quotes wrapping around or the noglob prefix.

Solution 6 - Android

You can create a filter for a specific application using its package name.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionVinothView Question on Stackoverflow
Solution 1 - AndroidbrianesteyView Answer on Stackoverflow
Solution 2 - AndroidRajeshView Answer on Stackoverflow
Solution 3 - AndroidIman MarashiView Answer on Stackoverflow
Solution 4 - AndroidAbePralleView Answer on Stackoverflow
Solution 5 - AndroidGrantView Answer on Stackoverflow
Solution 6 - AndroidChrishanView Answer on Stackoverflow