Loggrep is a awesome tool to analyze/view logcat (Android logs with custom filters and views
It's totally inspired on pidcat from Jake Wharton
Show all logcat log entries
npx loggrep logcat -f=@all
Available filters:
npx loggrep logcat -f=./banana.js
./banana.js
:
const handler = async () => {
const filters = [
// filter "ActivityManager" tag
{tag: /^ActivityManager$/},
]
return {
filters,
}
}
exports.handler = handler
More examples like ./banana.js
:
const handler = async () => {
const filters = [
// filter "Zygote" tag
{tag: /^Zygote$/},
// filter "Error" level
{level: /^E$/},
// filter process with pid "1234"
{pid: /^1234$/},
// filter log entries with tag "ActivityManager" and messages starting with "Received BROADCAST intent"
{
tag: /^ActivityManager$/,
message: /^Received BROADCAST intent/
},
// custom function
// return true to show a log entry
({
tag, line, level, tag, pid, message
}) => tag.endsWith('Manager'),
]
return {
filters,
}
}
exports.handler = handler
Filter adb logcat output is a painful task. If you'd like to filter by tag, message, log level or pid; you probably already used a combination of grep commands. But if you are debugging Android OS (framework, applications, radio etc.) in debug mode, you know that it's impossible to handle it.
loggrep
is a tool with powerful and customizable filters/formatters that will help you.
P.S.: if you're trying to filter only your application log, you just need Jake Wharton's pidcat
$ npm install -g loggrep
$ loggrep COMMAND
running command...
$ loggrep (--version)
loggrep/2.1.0 darwin-x64 node-v16.13.1
$ loggrep --help [COMMAND]
USAGE
$ loggrep COMMAND
...
loggrep help [COMMAND]
loggrep logcat
loggrep plugins
loggrep plugins:inspect PLUGIN...
loggrep plugins:install PLUGIN...
loggrep plugins:link PLUGIN
loggrep plugins:uninstall PLUGIN...
loggrep plugins update
Display help for loggrep.
USAGE
$ loggrep help [COMMAND] [-n]
ARGUMENTS
COMMAND Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for loggrep.
See code: @oclif/plugin-help
describe the command here
USAGE
$ loggrep logcat [-h] [-f <value>] [-c <value>] [-i <value>] [-R]
FLAGS
-R, --shouldReset reset adb log
-c, --config=<value> config file
-f, --filters=<value>... [default: @all] filters
-h, --help Show CLI help.
-i, --input=<value> input path
DESCRIPTION
describe the command here
EXAMPLES
$ loggrep logcat --f=@all
$ loggrep logcat --f=./myfilter
$ loggrep logcat -i=../logs/mylog.txt
$ loggrep logcat -R
See code: dist/commands/logcat/index.ts
List installed plugins.
USAGE
$ loggrep plugins [--core]
FLAGS
--core Show core plugins.
DESCRIPTION
List installed plugins.
EXAMPLES
$ loggrep plugins
See code: @oclif/plugin-plugins
Displays installation properties of a plugin.
USAGE
$ loggrep plugins:inspect PLUGIN...
ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ loggrep plugins:inspect myplugin
Installs a plugin into the CLI.
USAGE
$ loggrep plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ loggrep plugins add
EXAMPLES
$ loggrep plugins:install myplugin
$ loggrep plugins:install https://github.com/someuser/someplugin
$ loggrep plugins:install someuser/someplugin
Links a plugin into the CLI for development.
USAGE
$ loggrep plugins:link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ loggrep plugins:link myplugin
Removes a plugin from the CLI.
USAGE
$ loggrep plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ loggrep plugins unlink
$ loggrep plugins remove
Update installed plugins.
USAGE
$ loggrep plugins update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.