Log是什么

Log 在软件开发中被用于在控制台打印输出信息,方便代码跟踪和调试。 log 一般分为4个等级,级别从高到低依次为 ERROR、WARN、INFO、DEBUG。通过定义特别的级别信息,可以得到我们所需要的打印信息,例如,在生产环境中,我们可能不关心 INFO 级别的日志,我们只关注 ERROR 或者 WARN 级别的日志。

使用Android原生的日志功能

首先,我们先来看如何在 android 中打印日志。我们可以调用 Log.e(),Log.i(),Log.w(),Log.d() 分别代表打印 ERROR、INFO、WARN、DEBUG 级别的日志。这些方法都可以接收两个参数,第一个是 tag,主要用于标识,方便查看信息时进行过滤。第二个是输出信息 msg 。具体看一下代码。

Log.e("cat", "fuck");
Log.v("cat", "fuck");
Log.i("cat", "fuck");
Log.d("cat", "fuck");

这里我的筛选规则是 v(Verbose) 以上的,所以全部信息都被打印出来了。

01-18 01:57:51.528 9053-9053/com.chenantao.main E/cat: fuck
01-18 01:57:51.528 9053-9053/com.chenantao.main V/cat: fuck
01-18 01:57:51.528 9053-9053/com.chenantao.main I/cat: fuck
01-18 01:57:51.528 9053-9053/com.chenantao.main D/cat: fuck

到这里基本的使用方法就说完了,有什么问题呢?由于输出信息只能是字符串类型,那么当我打印出一串长长的 json 格式的字符串,看起来是否很蛋疼?或者,当我看到一段莫名奇妙的 log 信息,我想看是哪个家伙调用了它,但在茫茫的代码海中寻找,简直不要太刺激。基于以上两个问题,我们可以使用 github 上的一些开源的日志工具库。

Logger库的使用

地址:https://github.com/orhanobut/logger

Logger 是一个简单、牛逼的 android 开源库。

它提供了非常多的功能:
* 线程信息
* 类信息
* 方法信息
* 非常人性化的json 文本的输出
* 简洁的输出
* 可以在输出信息处跳转到源码处

导入依赖

在你项目的 build.gradle 中加入
repositories {// ...maven { url "https://jitpack.io" }
}dependencies {compile 'com.github.orhanobut:logger:1.12'
}

使用

简单使用

嗯,就这么简单,你就可以开始使用了。先来看看打印一段普通的文本。

Logger.init("cat");
Logger.e("哈哈哈");

注意,在使用前要先调用 init 进行初始化,并且只需调用一次。

控制台输出:

我操,这效果,我先给个99分吧,余下一分看它其他功能再决定给不给。

个性化配置

你也可以自定义标签名,输出信息,或者全局控制是否进行打印等。

Logger.init(YOUR_TAG)                 // 如果仅仅调用 init 不传递参数,默认标签是 PRETTYLOGGER .methodCount(3)                 // 显示调用方法链的数量,默认是2.hideThreadInfo()               // 隐藏线程信息,默认是隐藏.logLevel(LogLevel.NONE)        // 日志等级,其实就是控制是否打印,默认为 LogLevel.FULL.methodOffset(2)                // default 0.logTool(new AndroidLogTool()); // custom log tool, optional
}

更多用法

常用打印日志的方法。

Logger.d("hello");
Logger.e(exception, "message");
Logger.json(JSON_CONTENT);

输出结果:

你也可以进行动态配置,例如设置调用方法链的数量:

Logger.t(1).e("哇嘎嘎");

总结

这篇为开山篇,仅仅只是介绍这个库以及一些简单用法,并没有列出完整的 api ,其实也没多少 api 。用 android studio 的话,你直接打个 Logger. 便有提示了,你看方法名大概都能知道有什么用,实在不知道的话,也可以查看 doc 注释。
好了先到这里,下一篇将带来源码解析。(手动斜眼笑)。

android开源日志库的使用相关推荐

  1. Android开源日志框架xlog

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/144 xlog的优点 在开发过程中,避免不了要使用日志组件 ...

  2. 我的Android进阶之旅------【强力推荐】Android开源图表库XCL-Charts版本发布及展示页

    因为要做图表相关的应用,后来百度发现了一个很好的Android开源图表库(XCL-Charts is a free charting library for Android platform.) 下面 ...

  3. 开源日志库log4cplus+VS2008使用整理

    一.简介  log4cplus是C++编写的开源的日志系统,功能非常全面.本文介绍如何在Windows+VS2008中使用该日志库.   二.下载   可从网站[url]http://log4cplu ...

  4. android之日志库logger

    项目越来越接近上线了,需要一款日志库来调试bug. 参考: https://www.jianshu.com/p/316f065cd00c https://github.com/orhanobut/lo ...

  5. Android开源工具库

     一.依赖注入DI 通过依赖注入降低View.服务.资源简化初始化,事件绑定等反复繁琐工作 1. AndroidAnnotations(Code Diet) android高速开发框架 项目地址: ...

  6. 开源日志库Logger的使用秘籍

    在Android Studio中的gradle中加入,就可以引用依赖logger库: dependencies {compile 'com.orhanobut:logger:1.15'} Logger ...

  7. Android开源so库,Android-studio导入.so库问题?

    我的目录结构 一下是主activity package com.iflytek.tts; import android.app.Activity; import android.os.Bundle; ...

  8. android 开源UI库

    https://github.com/DayorNight/BLCS Android最全UI库合集_紫色的路的博客-CSDN博客_android ui组件库

  9. android开源界面库,使用 Wear 界面库

    Android Jetpack 可在各种应用中实现经过优化的一致界面.Android Jetpack 包括 Wear 界面库,该界面库包含许多适用于 Wear OS 应用的首选界面组件. Wear 界 ...

最新文章

  1. ubuntu服务器版编辑文件,Ubuntu 服务器版 18.04.4 固定 IP 设置
  2. GitHub趋势榜第一:用小姐姐自拍,生成二次元萌妹子,神情高度还原,反过来也可以...
  3. 【Android 内存优化】Bitmap 内存缓存 ( Bitmap 缓存策略 | LruCache 内存缓存 | LruCache 常用操作 | 工具类代码 )
  4. 查看MySQL句柄_mysql查询语句-handler
  5. linux学习笔记(五):开机、关机、开机日志
  6. 点击图片弹出固定或自适应窗口
  7. php 中文字符串截取函数--比较好的
  8. __attribute__ ((__pure__))
  9. 零基础带你学习MySQL—分组统计(十二)
  10. 去掉jsp页面自动生成的空行
  11. python写ppt_python可以写PPT吗
  12. impala ERROR: TransmitData() to 10.19.231.254:27000 failed: Network error107
  13. altium designer笔记
  14. 计算机无法自动搜索更新驱动程序,电脑如何设置禁止自动安装驱动程序
  15. Android项目的targetSDK=23,在低于Android6.0的部分测试机(类似华为)上运行时出现的系统权限问题...
  16. (干货)备战2021年软考中级网络工程师-04知识产权与标准化
  17. 【我想对策划说的事】-- 入职dy一年后被邀请召开的扯淡分享会讲稿
  18. (6)EndNote——文献管理软件通用操作大全
  19. 记javascript设计模式
  20. 人們還有「自由」這個詞,但他們學到的卻是服從和奴役!

热门文章

  1. hdu 2629 Identity Card (字符串解析模拟题)
  2. python语言的保留字有哪些_Python保留字(关键字)一览表
  3. 华为android内存扩大,安卓手机运行内存越来越不够用,华为却放出了这一招来解决!...
  4. 知识图谱-KGE-模型:概述【KGE模型充当打分函数的作用】【负采样】【不同模型在不同KG上的表现不一致,需要尝试对比】
  5. sci论文、ei论文和ieee论文三者之间有什么区别?
  6. java easyui tree例子_easyui-treegrid的案例
  7. 武魂优化游戏引擎 视觉效果全新进化
  8. OpenCV 保存视频
  9. 【五一创作】Qt quick基础1(包含基本元素Text Image Rectangle的使用)
  10. 使用Microsoft Office Publisher制作海报Poster