Catdea Plugin intended to match Android Logcat log entries with the source code that emit them, thereby providing navigation and interactivity, in order to simplify debugging or reverse engineering.
Plugin uses pre-compile-time calculations to identify log emitters in the source code, thus, no RegExp patterns required.
Install from JetBrains Plugins Repository or
get from latest release and choose it in IDE
(File
→ Settings
→ Plugins
→ Install Plugin from Disk
).
In this tool window, you can view and analyze Logcat output with syntax highlighting and navigation to the source code.
Provides navigation from log entry to the source code that emit it, and vice versa.
Click Navigate
→ Declaration
menu on log entry to go to the emitter.
Click Navigate
→ Related symbol...
menu on the call in source code,
or click gutter icon to go to the log entry.
Collapse and expand log entry's package name or tag.
Use Code
→ Folding
menu or shortcuts.
Highlight log entries with the same tag and log entries, that do not match to the code
Save Logcat output to file with extensions .log
, .logcat
or .logdump
for later analysis in offline mode.
Only log level, tag and message are required to provide navigation.
Tune your color preferences (File
→ Settings
→ Editor
→ Color Scheme
→ Catdea
).
Custom classes that wraps Android Log functionality will be recognized as log emitters automatically.
Consider the following class SecLog
, which is a wrapper on the android.util.Log
:
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log;
public final class SecLog {
public static final String TAG = "["+ SecLog.class.getSimpleName() + "]";
public static void i(@NonNull String tag, @Nullable String msg) {
if (msg != null) {
Log.i(TAG, tag + ": " + msg);
}
}
}
Then call of SecLog.i
method like this:
SecLog.i(TAG, "onSignup() called with: isSuccess = [" + isSuccess + "]");
will be recognized as log emitter.
Gutter icon will appear and provide navigation to the log entry. If emitter is identified, but there are no log entries matched it - icon will be shown.
Catdea is able to identify log emitter that uses String.format
and others.
Log.d(TAG, String.format("generatePassword(%d) = \"%s\"", length, password));
Use Code
→ Comment with Line Comment
menu or shortcut on the log entry.
Logs view groups all Logcat dump files into one place for better management.
- 1.1 Android Logcat Monitor Tool Window
- 1.0 Initial release