注册

你还没用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


0 个评论

要回复文章请先登录注册