关于logback也是近期才学习到的,网上的资料也很多,但是也是比较杂乱。自己集成也是花费了很多时间,包括一些细节,很不容找,特此写出来,希望给大家提供点方便,也为自己学习做个整理
第一步:环境搭建
库的地址:https://github.com/tony19/logback-android
按照库上的指导,直接在module的gradle.build中的dependencies加入,版本号可根据github上最新的来,如下:
module的gradle.build文件第二部:编写logback.xml文件
第一步环境准备完毕,直接在module的src/main下新建assets目录,如下
然后在新建一个xml,命名logback,注意此处的名字一定要是logback,不然系统会找不到。关于logback.xml文件的写法和说明,我在配置文件里都做了说明,下面截图如下:
图一 图二在配置appender的时候,需要注意的是,如果采用RollingFileAppender的时候,又想采用时间和大小去控制日志的滚动,那么需要使用SizeAndTimmBasedRollingPolicy,不然策略不生效,即滚动条件不生效。第二点,maxFileSize这个可以设置为KB或者MB,但是只能设置为整数,如果设置为小数,则无法生成log文件,样例配置如下:
图三一般我们采用异步写入文件的方式,不发生IO,也能提升QPS。所以采用了AsyncAppender来处理,且内部子节点appender-ref只能有一个,且指向工作appender,即负责写入内容的RollingFileAppender,还有其他说明都写入了注释,请大家仔细阅读,图如下:
图四第三部:代码中使用
配置文件整理完毕,现在我们看看如何使用。其实使用上有两种方式:
第一种,直接使用,此种方式是直接找到root下的appender进行处理的,如下图:
图五第二种,指定name的appender来处理,下面就是找到logger节点name为logtest的appender,如下图:
图六最后说明下,此处需要申明读写权限,特别在6.0以上,需要动态申请储存权限,这点不要忘记了。
至此,在Android端集成logback已基本完成。有些细节已经在配置文件中指明,有些细节如需了解还需要自己手动补充了。
网友评论