Logger 基本用法 简介 Simple, pretty and powerful logger for android 为Android提供的,简单、强大而且格式美观的工具
本质就是封装系统提供的Log类,加上一些分割线易于查找不同的Log;logcat中显示的信息可配置。最初的样子如下图
包含线程信息、Log所在的类、方法及所在行数。
这里我忍不住了,就先写了我最喜欢的功能,嘎嘎嘎~~ 最最最基本的依赖和简单打印在第二页
我觉得最好的功能是:Logger支持设置日志保存到本地,这样的话就可以想上传上传了。做自己的日志管理系统倍爽! 不过日志保存的位置写死了。找位置的方法是 在Logger包里的 DiskLogAdapter类的构造函数,进入build()方法里。
public DiskLogAdapter() { formatStrategy = CsvFormatStrategy.newBuilder().build(); } 1 2 3 进入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); } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 具体路径是:/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' } 1 2 3 初始化 Logger.addLogAdapter(new AndroidLogAdapter()); 1 到这里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())//保存到文件 --------------------- 原文:https://blog.csdn.net/yy1713/article/details/80027171