Logger
Simple, pretty and powerful logger for android
Logger provides :
- Thread information
- Class information
- Method information
- Pretty-print for json content
- Pretty-print for new line "\n"
- Clean output
- Jump to source
Dependency
repositories { // ... maven { url "https://jitpack.io" } } dependencies { compile 'com.github.orhanobut:logger:1.12' }
Current Log system
Log.d(TAG,"hello");
Logger
Logger.d("hello"); Logger.d("hello %s %d", "world", 5); // String.format
Usage
Note: Because of the latest changes, Logger.init() must be called once to initiate. This will be fixed in the next version
Logger.d("hello"); Logger.e("hello"); Logger.w("hello"); Logger.v("hello"); Logger.wtf("hello"); Logger.json(JSON_CONTENT); Logger.xml(XML_CONTENT);
Change TAG
All logs
Logger.init(YOUR_TAG);
Log based
Logger.t("mytag").d("hello");
Settings (optional)
Change the settings with init. This should be called only once. Best place would be in application class. All of them are optional.
Logger .init(YOUR_TAG) // default PRETTYLOGGER or use just init() .methodCount(3) // default 2 .hideThreadInfo() // default shown .logLevel(LogLevel.NONE) // default LogLevel.FULL .methodOffset(2) // default 0 .logTool(new AndroidLogTool()); // custom log tool, optional }
Note: Use LogLevel.NONE for the release versions.
Use another log util instead of android.util.log
- Implement LogTool
- set it with init
.logTool(new MyCustomLogTool())
More log samples
Logger.d("hello"); Logger.e(exception, "message"); Logger.json(JSON_CONTENT);
Method info
Observe the caller methods in the order they are invoked and also thread information.
void methodA(){ methodB(); } void methodA(){ Logger.d("hello"); }
Both method information will be shown in the order of invocation.
Change method count (Default: 2)
All logs
Logger.init().setMethodCount(1);
Log based
Logger.t(1).d("hello");
Change method stack offset (Default: 0)
To integrate logger with other libraries, you can set the offset in order to avoid that library's methods.
Logger.init().setMethodOffset(5);
Hide thread information
Logger.init().setMethodCount(1).hideThreadInfo();
Only show the message
Logger.init().setMethodCount(0).hideThreadInfo();
Pretty print json, Logger.json
Format the json content in a pretty way
Logger.json(YOUR_JSON_DATA);
Log exceptions in a simple way
Show the cause of the exception
Logger.e(exception,"message");
Notes
- Use the filter for a better result
- Make sure that the wrap option is disabled