当前位置: 首页 > news >正文

Android开发 LogDog (日志狗)V2.0.0

目录

一、简介

二、使用推荐

1、初始化LogDog

2、运行中如何更改初始化时的配置?

三、更改

四、新功能

1、Log过滤

2、自定义打印

3、提供占位符式打印


一、简介

LogDog V1.0 版本https://blog.csdn.net/Ym_quiet/article/details/130453232?spm=1001.2014.3001.5501     LogDog V1.2版本https://blog.csdn.net/Ym_quiet/article/details/130550198?spm=1001.2014.3001.5501

二、使用推荐

添加LogDog依赖

dependencies {implementation 'com.gitee.ym521:logdog:2.0.0'}

为了大家更好的使用LogDog,下面我推荐一个简单的使用示例

1、初始化LogDog

 Kotlin示例

class MyApplication:Application() {override fun onCreate() {super.onCreate()val gson =  GsonBuilder().setPrettyPrinting().create()val logdog =LogDog.Builder().logShowMethodEnable(true,3).logShowThreadInfoEnable(true).build()logdog.install(this,object :IJsonEngine{override fun <T> toJSON(obj: T): String {return  gson.toJson(obj)}})}}

Java示例

public class MyApplication extends Application {@Overridepublic void onCreate() {super.onCreate();Gson gson = new GsonBuilder().setPrettyPrinting().create();LogDog logdog = new LogDog.Builder().logShowMethodEnable(true, 3).logShowThreadInfoEnable(true).build();logdog.install(this, new IJsonEngine() {@NonNull@Overridepublic <T> String toJSON(T t) {return gson.toJson(t);}});}
}

IJsonEngine 为LogDog 对外暴露的Gson接口,也是对log内的引用类型的参数提供Json化的实现,在这里我使用的是Gson

implementation 'com.google.code.gson:gson:2.9.0'

2、运行中如何更改初始化时的配置?

 LogDog.Builder()/*** 打印日志过滤日志级别,默认全部打印* 日志过滤是过滤掉你添加的日志级别,不想打印的级别日志需要你添加对应的日志级别*/.logFilter(LogDog.WARN or LogDog.DEBUG)/*** 默认未启用* @param enabled 是否打印方法信息* @param methodCount 打印方法的个数 如果小于1 为1,大于10 为10*/.logShowMethodEnable(true,2)/*** 默认未启用* 是否打印线程信息*/.logShowThreadInfoEnable(true)/*** 默认是未启用* 是否将日志写入日志文件中* 日志文件以当天日期为单位生成*/.logWriteLogFileEnable(true)/*** 默认是未启用* 是否启动AES 加密 * 如果启动加密 但未配置key下,* 将使用默认秘钥"0000000000000000"*/.logFileAESEnable(true,"123456")/*** 默认未启用* 是否将日志文件输出到外部私有空间*/.logFileShowEnable(true)/*** 默认值 LOGDOG* 缺省TAG设置,没有自行填写的TAG的统一使用缺省TAG*/.defaultTAG("APP_LOG")

只需要再次对LogDog.Builder() 进行设置 就会覆盖初始化时的配置。

三、更改

新版本V2.0.0版本,去除了以前统一关闭打印输出,改为过滤式关闭Log打印输出,具体使用下面将提供java和kotlin示例

kotlin示例

 LogDog.Builder()/*** 打印日志过滤日志级别,默认全部打印* 日志过滤是过滤掉你添加的日志级别,不想打印的级别日志需要你添加对应的日志级别*/.logFilter(LogDog.WARN or LogDog.DEBUG)

Java示例

new LogDog.Builder()* 打印日志过滤日志级别,默认全部打印* 日志过滤是过滤掉你添加的日志级别,不想打印的级别日志需要你添加对应的日志级别*/.logFilter(LogDog.WARN | LogDog.DEBUG)

注意:过滤多个log级别,采用“或”运算拼接, kotlin 使用 or ,Java 使用 |  来选择要过滤(关闭)的日志级别,例如示例代码就是过滤warn和debug日志级别,非这里两个都可以打印输出。

四、新功能

新版本V2.0.0版本,新功能:打印过滤、自定义打印、提供占位符式打印。

1、Log过滤

在标题三中已阐述,在这里不在重复。

2、自定义打印

 /**
* @param printer 打印开关
* @param write 写文件开关
*/
fun custom( printer, write, priority, tag, msg) 

注意:printer 和write ,这两个开关将不会被LogDog.Builder 覆盖,也不会覆盖LogDog.Builder中的配置。

3、提供占位符式打印

示例代码:

 LogDog.errorf("DEBUG","我是%log,我的主人是%log","LogDog","Ym")

当然还有其他相关的方法函数提供例如 LogDog.debugf(),LogDog.customf()等,当然填充占位符的变量也不限制类型,还是一样引用类型将会被Json化后填充占位符。

注意:这里的占位符是%log(属于自定义的不能是%Log 、% log、%LOG、%s等;还有就是占位符个数必须大于等于对应的变量个数,反之会发生异常!

如果对您有一些意义,希望您给博主一些鼓励(点赞、关注、收藏),如果这个LogDog有BUG欢迎大家提出。

http://www.lryc.cn/news/92107.html

相关文章:

  • JavaScript break
  • linux服务器使用curl命令处理常用es查询
  • Office Visio 2013安装
  • C++ 私有析构函数的作用
  • 【C++】deque的用法
  • Live800:智能客服有哪些未来发展趋势?
  • 【一】Java SE 基础
  • Linux防火墙学习笔记2
  • Linux下MongDB定时备份方案
  • 长尾词挖掘,长尾词的优化方法有哪些
  • JUC基础-0601
  • bash特性
  • [Flink] Flink On Yarn(yarn-session.sh)启动错误
  • 玩转css逐帧动画,努力成为更优质的Ikun~
  • Linux Capabilities
  • 【自制C++深度学习框架】前言
  • 【高危】泛微 e-cology9 存在任意用户登录漏洞
  • 1TB文本的实时全文检索系统搭建
  • RHCA---DO477---变量实验
  • 毕业生高频常用材料线上签,高校毕业季契约锁电子签章一站式助力
  • .ini配置文件介绍与解析库使用
  • 牛客网Linux错题七
  • 牛课刷题Day5(编程题)
  • javascript基础二十五:说说你对函数式编程的理解?优缺点?
  • 常见JavaScript加密算法、JS加密算法
  • 题解2023.6.5
  • 与声音计算研究相关的挑战赛——DCASE和L3DAS
  • 实训总结-----Scrapy爬虫
  • 前端开发职业规划指南:如何做好职业规划与发展
  • 创业第一步:如何写好商业计划书