你还没用Logger?用了他我才知道屌
Logger
简单,漂亮,强大的android日志
配置
下载
implementation 'com.orhanobut:logger:2.2.0'
初始化
Logger.addLogAdapter(new AndroidLogAdapter());
使用
Logger.d("hello");
输出
属性
Logger.d("debug");
Logger.e("error");
Logger.w("warning");
Logger.v("verbose");
Logger.i("information");
Logger.wtf("What a Terrible Failure");
支持字符串格式参数
Logger.d("hello %s", "world");
支持集合(仅适用于调试日志)
Logger.d(MAP);
Logger.d(SET);
Logger.d(LIST);
Logger.d(ARRAY);
Json和Xml支持(输出将处于调试级别)
Logger.json(JSON_CONTENT);
Logger.xml(XML_CONTENT);
高级用法
FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
.showThreadInfo(false) // (可选)是否显示线程信息。默认为 true
.methodCount(0) // (可选)要显示的方法行数。默认为 2
.methodOffset(7) // (可选)隐藏内部方法调用直到偏移量。默认值5
.logStrategy(customLog) // (可选)将日志策略更改为打印输出。默认LogCat
.tag("My custom tag") // (可选)每个日志的全局标记。默认PRETTY_LOGGER
.build();
Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));
日志开启
日志适配器通过检查此功能来检查日志是否应打印。
如果要禁用/隐藏输出日志,请重写isLoggable'方法。
true会打印日志消息,
false` 会忽略它。
Logger.addLogAdapter(new AndroidLogAdapter() {
@Override public boolean isLoggable(int priority, String tag) {
return BuildConfig.DEBUG;
}
});
将日志保存到文件
//TODO: 稍后将添加更多信息
Logger.addLogAdapter(new DiskLogAdapter());
将自定义标记添加到Csv格式策略
FormatStrategy formatStrategy = CsvFormatStrategy.newBuilder()
.tag("custom")
.build();
Logger.addLogAdapter(new DiskLogAdapter(formatStrategy));
工作原理
更多
使用过滤器以获得更好的结果。或者你的自定义标签
确保已禁用“环绕”选项
也可以通过更改设置来简化输出。
- Timber 集成
// 将methodOffset设置为5以隐藏内部方法调用
Timber.plant(new Timber.DebugTree() {
@Override protected void log(int priority, String tag, String message, Throwable t) {
Logger.log(priority, tag, message, t);
}
});
github地址:https://github.com/orhanobut/logger
下载地址:
master.zip