LoggerKnife-格式化输出log的又一选择「原创」


本文会带来什么

  • 输出log的一个工具包,用来解决格式化输出,及超长log 截断问题
  • 本地log保存(暂未上线)

github 地址

传送门

LoggerKnife

  1. 支持多种参数输入,且使用方便
  2. 支持输出良好格式(如json等)
  3. 支持超长Log内容的输出

    以3000个字符截取,无缝显示在log控制台中

支持输入格式

  1. JsonObject(及Json类型的字符串)
  2. 其它常用数据类型(不在详细列出)

输出样式

注:有性能损耗,实测本工具类输出5000个字符 14ms左右(Android Log 为 0ms)

  1. json
  2. 其他
    不举例

使用方式

1.引入

Android Studio 同学推荐B方案

Eclipse 同学 最快的方式为 下载源码(两个文件)

(!如出现错误请参照本文FAQ)

A. Maven

1
2
3
4
5
6
<dependency>
<groupId>com.rdors.loggerknife.loggerknifelibrary</groupId>
<artifactId>loggerknifelibrary</artifactId>
<version>1.0.0</version>
<type>pom</type>
</dependency>

B. Gradle

1
compile 'com.rdors.loggerknife.loggerknifelibrary:loggerknifelibrary:1.0.0'

2.初始化(可忽略)

1
2
3
4
5
6
/**
* 如果不调用本方法,则默认输出所有级别的log,且输出 tag 为调用类名
* @param logLevel 输入级别控制,如果为空,则输出所有级别
* @param tagName log 全局 tag 名称,如果为空,则 输出 tag 为调用类名
**/

L.init(LogLevel,logLevel,String tagName);

3.使用

1
2
3
4
5
6
7
8
/**
* 不指定tag,以 默认类名或者 制定全局tag 为tag 输出log
**/

L.i(Object object);
/**
* 如果tagName 不为空,则以 该 tagName 为tag 输入log
**/

L.i(String tagName,Object object);

设置AndroidStudio的log 颜色

如下,需要“Save as”保存主题,然后取消“use inherited attributes”,即可设置自己想要的颜色

我的配色方案:

  • A=FF2E0E
  • D=38F838
  • E=FF6B68
  • I=1DBB92
  • V=FFF7EE
  • W=FF9229

参考

FAQ

  1. 引入后出现错误
    “Suggestion: add ‘tools:replace=”theme”‘ to element at AndroidManifest.xml:29:5 to override” 等
    解决方案:在最外层AndroidManifest.xml ,application标签中加入以下即可
    1
    2
    // 如果提示 icon等同理
    tools:replace="theme"

备注

所有源码均未参考其他类似工具(如kLog等),只有部分参考输出格式,同学们可放心使用