Logger 基本用法

Logger 基本用法

简介

Simple, pretty and powerful logger for android
为Android提供的,简单、强大而且格式美观的工具

本质就是封装系统提供的Log类,加上一些分割线易于查找不同的Log;logcat中显示的信息可配置。最初的样子如下图


包含线程信息、Log所在的类、方法及所在行数。

这里我忍不住了,就先写了我最喜欢的功能,嘎嘎嘎~~
最最最基本的依赖和简单打印在第二页

我觉得最好的功能是:Logger支持设置日志保存到本地,这样的话就可以想上传上传了。做自己的日志管理系统倍爽!
不过日志保存的位置写死了。找位置的方法是
在Logger包里的 DiskLogAdapter类的构造函数,进入build()方法里。

public DiskLogAdapter() {
    formatStrategy = CsvFormatStrategy.newBuilder().build();
}

进入build(),就可以找到相应的路径

@NonNull public CsvFormatStrategy build() {
  if (date == null) {
    date = new Date();
  }
  if (dateFormat == null) {
    dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss.SSS", Locale.UK);
  }
  if (logStrategy == null) {
    //地址在这里
    String diskPath = Environment.getExternalStorageDirectory().getAbsolutePath();
    String folder = diskPath + File.separatorChar + "logger";
    HandlerThread ht = new HandlerThread("AndroidFileLogger." + folder);
    ht.start();
    Handler handler = new DiskLogStrategy.WriteHandler(ht.getLooper(), folder, MAX_BYTES);
    logStrategy = new DiskLogStrategy(handler);
  }
  return new CsvFormatStrategy(this);
}

具体路径是:/storage/emulated/0/logger
每个文件最大为500K,源码贴出来~~~~
private static final int MAX_BYTES = 500 * 1024; // 500K averages to a 4000 lines per file

生成的文件名称为logs_0.csv 后面的数字会递增 源码贴出来~~~~
newFile = new File(folder, String.format("%s_%s.csv", fileName, newFileCount));


刚用markDown不太会用


我最喜欢的部分写完了,下面写点常规的操作吧。simple

一、依赖Logger

地址:https://github.com/orhanobut/logger
本来不想贴地址呢,github是个好东西,介于我两天前还不会用github,还是贴上吧,啦啦啦,我是莉莉的小叮当
github上介绍很详细了,但是我还是想粘贴一遍。

依赖
dependencies {
    implementation 'com.orhanobut:logger:2.2.0'
}
初始化
Logger.addLogAdapter(new AndroidLogAdapter());

到这里Logger已经可以用了
Logger.d(“debug”);
Logger.e(“error”);
Logger.w(“warning”);
Logger.v(“verbose”);
Logger.i(“information”);
Logger.wtf(“What a Terrible Failure”);

下面写点我自己的Logger用法

    val formatStrategy = PrettyFormatStrategy.newBuilder()
          .showThreadInfo(true)  //(可选)是否显示线程信息。 默认值为true
          .methodCount(1)         // (可选)要显示的方法行数。 默认2
          .methodOffset(5)        // (可选)隐藏内部方法调用到偏移量。 默认5
          .tag("doShare")//(可选)每个日志的全局标记。 默认PRETTY_LOGGER
          .build()
    Logger.addLogAdapter(AndroidLogAdapter(formatStrategy))//根据上面的格式设置logger相应的适配器
    Logger.addLogAdapter(DiskLogAdapter())//保存到文件
  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值