Logger 最好用的log框架介绍
来源:互联网 发布:网络公会如何纳税 编辑:程序博客网 时间:2024/05/12 19:40
https://github.com/orhanobut/logger
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
compile 'com.orhanobut:logger:1.15'
Current Log system
Log.d(TAG,"hello");
Logger
Logger.d("hello");Logger.d("hello %s %d", "world", 5); // String.format
Logger.d("hello");Logger.e("hello");Logger.w("hello");Logger.v("hello");Logger.wtf("hello");Logger.json(JSON_CONTENT);Logger.xml(XML_CONTENT);Logger.log(DEBUG, "tag", "message", throwable);
String format arguments are supported
Logger.d("hello %s", "world");
Array, Map, Set and List are supported
Logger.d(list);Logger.d(map);Logger.d(set);Logger.d(new String[]);
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. You can just use the default settings if you don't init Logger.
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 .logAdapter(new AndroidLogAdapter()); //default AndroidLogAdapter}
Note: Use LogLevel.NONE for the release versions.
Use another log util instead of android.util.log
- Implement LogAdapter
- set it with init
.logAdapter(new CustomLogAdapter())
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().methodCount(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().methodOffset(5);
Hide thread information
Logger.init().methodCount(1).hideThreadInfo();
Only show the message
Logger.init().methodCount(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
Timber Integration
You can also use logger along with Timber.
Timber.plant(new Timber.DebugTree() { @Override protected void log(int priority, String tag, String message, Throwable t) { Logger.log(priority, tag, message, t); }});
- Logger 最好用的log框架介绍
- Logger 最好用的log框架介绍
- Log框架之Logger
- logger(三):其他log库的介绍(&glog的用法)
- 我眼中最好用的Android日志记录库Logger。
- Android强大log框架Logger使用详解
- Android强大log框架Logger使用详解
- 一个打印Log日志,好用的工具logger
- 用java API 的Logger记log(java.util.logging.Logger)
- 2017最好用的框架
- Boost Log 的 logger 使用细节
- Slf4j Logger 的封装——Log
- Logger 漂亮的日志输出log
- go语言log包的学习(log,Logger)
- logger框架
- 最好用的web前端框架bootstrap
- 最好的框架组合
- logger例子 能自己指定log文件的存放位置
- 关于spring cloud config
- JavaWeb之Servlet中的response对象
- css实现元素的垂直居中
- 关于生活
- 软件安全性测试
- Logger 最好用的log框架介绍
- C\C++中 fopen中w w+ wb区别:
- mac版安装tomcat的步骤
- Runtime "Apache Tomcat v7.0" is invalid. The specified Tomcat installation directory does not exist.
- Android封装支付宝支付
- 与Webviwe进行交互,webview小记
- Linux内核多线程(四)
- spring整合apache activemq实现消息发送的三种方式代码配置实例
- HUV黑白翻转棋