Android开发中,我们常常用到日志打印。利用系统的Log打印可以满足大部分需求,如果想使用起来更方便一般会在系统Log的基础上再进行封装。比如可以全局定义Tag,亦或是定义一个变量,控制Debug版本和Release版本的日志输出,这些都可以较好的提高开发效率。但开发中系统Log打印也有些明显的短板,比如说无法对Json数据和Xml数据格式化,还有超过一定的字数打印被截断。而我们今天要讲的Logger日志框架可以很好的解决这方面的问题。

简单使用

首先,添加依赖:

implementation 'com.orhanobut:logger:2.2.0'

进行初始化工作

FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()

showThreadInfo(false) // (Optional) Whether to show thread info or not. Default true

.methodCount(0) // (Optional) How many method line to show. Default 2

.tag("xyz") // (Optional) Global tag for every log. Default PRETTY_LOGGER

.build();

com.orhanobut.logger.Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));

初始化设置上述信息,显示如下:

log.png

初始化时,showThreadInfo用来控制是否显示线程信息,methodCount控制方法数的显示,这里分别设置为false和0,不显示这些信息。这个功能虽然很强大,可以看到很多日志信息,但项目开发过程中日志打印很多,如果每条日志都显示线程信息和方法信息,会显得很乱,反而影响开发效率。

调用打印方法

Logger.d("debug");

Logger.e("error");

Logger.w("warning");

Logger.v("verbose");

Logger.i("information");

Logger.wtf("wtf!!!!");

Logger.d("hello %s", "world");

Logger.d(MAP);

Logger.d(SET);

Logger.d(LIST);

Logger.d(ARRAY);

Logger.json(JSON_CONTENT);

Logger.xml(XML_CONTENT);

基本使用方法如上,也系统Log打印类似,使用起来很方便。

结合具体的开发来说,个人观点加了虚线框使日志显示更突出,但也额外暂用了很多打印空间,开发打印日志很多时反而显得很乱,所以在打印一些简单信息时推荐还是使用系统Log打印。这个框架非常好的一点是可以格式化输出Json数据,而且没有字数限制,不会截断打印信息。开发过程中有Json数据打印的地方使用该框架还是非常方便的。

Json打印效果如下:

json打印.png

总结

Json打印建议使用Logger日志框架,一般信息打印建议还是用系统Log打印。

android日记管理,Android日志管理Logger框架的简单介绍相关推荐

  1. python django框架分析_Django框架模型简单介绍与使用分析

    本文实例讲述了Django框架模型简单介绍与使用.分享给大家供大家参考,具体如下: ORM介绍 ORM Object relational mapping 对象关系映射 把面向对象中的类和数据库表一一 ...

  2. Universal-Image-Loader(UIL)图片加载框架使用简单介绍

    这个也是最近项目中使用到的第三方图片加载框架,在这里也自己总结一下,简单的介绍一些使用的方式. UIL图片加载框架特点 简介: 项目地址:https://github.com/nostra13/And ...

  3. 使用java自带的日志管理_java日志管理

    1.相关概念 日志统一框架(日志门面):apache commons logging.slf4j 日志实现框架(实现层):JDK自带的logging(java.util.logging).log4j. ...

  4. 系统日志管理及日志管理服务

    系统日志管理 一.rsyslog    ##此服务是用来采集系统日志的,他不生产日志,只采集日志 二.rsyslog的管理 /var/log/messages    ##服务信息日志 /var/log ...

  5. golang爬虫框架colly简单介绍

    colly一款快速优雅的golang爬虫框架,简单易用,功能完备. colly 官网地址:http://go-colly.org/ colly github地址:github.com/gocolly/ ...

  6. client高性能组件化框架React简单介绍、特点、环境搭建及经常使用语法

    [本文源址:http://blog.csdn.net/q1056843325/article/details/54729657 转载请加入该地址] 明天就是除夕了 预祝大家新春快乐 [ ]~( ̄▽ ̄) ...

  7. 关于Flex-Mvc的几个框架的简单介绍

    目前,FLEX有好几个框架,官方和非官方的,其介绍详见http://www.infoq.com/news/2008/01/flex-mvc 从网上又收集了一些简单的评论,我还没有用过,打算最近对比后找 ...

  8. Java定时任务调度实战(2)Quart框架的简单介绍

    一.前言 在之前的文章<Java定时任务调度(1)TimerTask原理与实战>中已经介绍了一种实现定时任务调度的方法--Java原生提供的 TimerTask,这个工具适用于一些简单的业 ...

  9. 日志管理(一):slf4j原理简单介绍

    转载自:http://blog.sina.com.cn/s/blog_6f67b91d0100tpqh.html 全称:Simple Logging Facade for Java  简单日志门面(F ...

最新文章

  1. kettle 日志存到mysql_kettle作业(job)调用转换,设置变量,写日志到数据库中【转】...
  2. 【转】Photoshop网站设计:DesignStudio
  3. 4.2.1 路由算法与路由协议概述(静态路由和动态路由---距离-向量路由算法---链路状态路由算法、层次路由)
  4. 感谢球,感谢铁道部,感谢电信,我终于定到回武汉的票了
  5. 前端学习(1680):前端系列实战课程之创建和显示蛇
  6. 使用mysqlsla 分析 mysql logs
  7. 【深入浅出etcd系列】2. 心跳和选举
  8. jedis-2.4.1 中的JedisPoolConfig没MaxActive属性
  9. python为什么叫爬虫-python为什么叫爬虫?为什么python开发会突然火起来?
  10. 158. class, static, self, parent
  11. systemd使用教程
  12. 平面设计素材的优秀网站有哪些?好用的都放在这里啦!
  13. mysql中查看密码有效期_Mysql5.7.9密码已过有效期的处理过程
  14. 产品有感之拼多多——社交更优惠的电商平台
  15. 名悦集团:车撞报废,保险能赔多少?
  16. PWN-CTF:gef工具安装
  17. Symentec赛门铁克企业型SSL证书好不好
  18. 百度和谷歌:局域网战胜互联网
  19. 区块链游戏到底是什么?
  20. Python 实现京东自动登录领京豆

热门文章

  1. 用无网格有限元法转动曲柄
  2. 支付宝定期利息计算机,支付宝心愿储蓄有利息吗 利息多少?
  3. 要一直努力努力永不放弃
  4. Microbiome:杨树内生和根际微生物组结构
  5. 基于单片机的智能储存柜的设计
  6. hyper linux v增强_Hyper-V下扩展Linux磁盘空间的方法
  7. return返回值的含义
  8. android自定义listview实现圆角
  9. Gorm学习(五)进阶:多态关联、关联标签以及事务
  10. STM32F407和LAN8720调试记录(1)