Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


Colored logcat script which only shows log entries for a specific application package.

Subscribe to updates I use pidcat

Statistics on pidcat

Number of watchers on Github 3355
Number of open issues 47
Average time to close an issue 29 days
Main language Python
Average time to merge a PR 9 days
Open pull requests 22+
Closed pull requests 22+
Last commit over 2 years ago
Repo Created over 6 years ago
Repo Last Updated over 1 year ago
Size 3.75 MB
Organization / Authorjakewharton
Page Updated
Do you use pidcat? Leave a review!
View open issues (47)
View pidcat activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating pidcat for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


An update to Jeff Sharkey's excellent logcat color script which only shows log entries for processes from a specific application package.

During application development you often want to only display log messages coming from your app. Unfortunately, because the process ID changes every time you deploy to the phone it becomes a challenge to grep for the right thing.

This script solves that problem by filtering by application package. Supply the target package as the sole argument to the python script and enjoy a more convenient development process.


Here is an example of the output when running for the Google Plus app:

Example screen


Get the script:

  • OS X: Use Homebrew.

     brew install pidcat

    If you need to install the latest development version

    brew unlink pidcat  
    brew install --HEAD pidcat
  • Arch Linux : Install the package called pidcat-git from the AUR.

  • Others: Download the and place it on your PATH.

Make sure that adb from the Android SDK is on your PATH. This script will not work unless this is that case. That means, when you type adb and press enter into your terminal something actually happens.

To include adb and other android tools on your path:

export PATH=$PATH:<path to Android SDK>/platform-tools
export PATH=$PATH:<path to Android SDK>/tools

Include these lines in your .bashrc or .zshrc.

Note: <path to Android SDK> should be absolute and not relative.

pidcat open issues Ask a question     (View All Issues)
  • about 3 years Display timestamp and tid
  • about 3 years logcat on different process
  • over 3 years Support adb buffer flag
  • over 3 years Prompt error
  • almost 4 years Show full-color logs in IDE(such as Sublime/Atom)
  • almost 4 years mask or regexp for tags and app packages
  • almost 4 years in windows,how to use? search anywhere,nothing.
  • almost 4 years Logs get truncated when they exceed terminal width
  • almost 5 years No new logs are output when app is reinstalled
  • about 5 years Feature request: Global ignore list
  • about 5 years When starts use ps to get process ID
  • about 5 years Support wildcards '*' in package name.
  • over 5 years Set device identifier as shell title
  • over 5 years Couldn't run the script on Ubuntu 12.04
  • over 5 years Support of filtering by regex
  • over 5 years Published on AUR
  • about 6 years No output on GS4
  • over 6 years pidcat can't find adb
  • over 6 years pidcat doesn't produce any output
  • over 6 years Add support for timestamps
  • over 6 years `indent_wrap` Improvements Needed
  • over 6 years Make available on PyPI
  • almost 3 years Nothing printed with Huawei Honor8
pidcat open pull requests (View All Pulls)
  • Handle case when passing --current with no running application
  • fix bash completion of package names for the filter arg
  • Add timestamps to each message
  • Add --time option to show log time
  • Feature : Global ignore list (Issue #79)
  • Feature : enable timestamps to be displayed (Issue #9)
  • add -n/--no-color option to output log without color
  • Colorization on Windows using colorama
  • add support for reading arguments from config files
  • disabled some opengl error to be shown
  • Changes for jake
  • Added clear screen, verbose mode and time stamps. Added usage to README
  • Add support for Ignore-List based on file
  • support long running and/or persistent processes
  • add option to override word wrap width
  • optionally add the events buffer as a workaround for Samsung devices
  • Add --always-display-line option
  • New option to show timestamp
  • --colorized argument added for colorized log messages
  • Set terminal title to current device/emulator name.
  • Add option --proguard-mapping to interpret class names correctly when using proguard
  • Fix blank line cause silent quit.
pidcat questions on Stackoverflow (View All Questions)
  • why can't pidcat find this directory?
pidcat list of languages used
Other projects in Python