Android 日志打印器

LogUtils


-Gihub_LZHSLibary-brightgreen.png

实现功能

  • 兼容 Android Studio 3.1.0 的 Logcat 完美显示日志
  • 兼容 Kotlin
  • 可设置 Log 开启和关闭
  • 可设置是否输出到控制台(Logcat)
  • 可设置 Log 全局 Tag
  • 全局 Tag 为空时 Tag 为当前类名
  • 可设置 Log 是否显示头部信息
  • Log 文件顶部显示设备信息
  • Log 头部含有当前线程名
  • Log 头部含有当前类及行号和函数名,支持点击跳转
  • 可设置 Log 是否写入文件
  • 可设置 Log 写入文件目录
  • 可设置 Log 写入文件前缀
  • 可设置 Log 是否显示边框
  • 可设置 Log 控制台过滤器
  • 可设置 Log 文件过滤器
  • 可设置 Log 栈深度
  • 可设置 Log 栈偏移
  • 支持控制台长字符串的输出
  • 支持多参数输出
  • 支持单独写入文件
  • 支持 JSON 串的输出
  • 支持 XML 串的输出
  • 支持 Live Templates

方法 -> LogUtils.java

init                     : 初始化
getConfig                : 获取 log 配置
Config.setLogSwitch      : 设置 log 总开关
Config.setConsoleSwitch  : 设置 log 控制台开关
Config.setGlobalTag      : 设置 log 全局 tag
Config.setLogHeadSwitch  : 设置 log 头部信息开关
Config.setLog2FileSwitch : 设置 log 文件开关
Config.setDir            : 设置 log 文件存储目录
Config.setFilePrefix     : 设置 log 文件前缀
Config.setBorderSwitch   : 设置 log 边框开关
Config.setSingleTagSwitch: 设置 log 单一 tag 开关(为美化 AS 3.1 的 Logcat)
Config.setConsoleFilter  : 设置 log 控制台过滤器
Config.setFileFilter     : 设置 log 文件过滤器
Config.setStackDeep      : 设置 log 栈深度
Config.setStackOffset    : 设置 log 栈偏移
log                      : 自定义 tag 的 type 日志
v                        : tag 为类名的 Verbose日志
d                        : tag 为类名的 Debug 日志 
i                        : tag 为类名的 Info 日志 
w                        : tag 为类名的 Warn 日志 
e                        : tag 为类名的 Error日志 
a                        : tag 为类名的 Assert 日志 
file                     : log 到文件
json                     : log 字符串之 json
xml                      : log 字符串之 xml

使用

在 Application 的 onCreate 函数中初始化,如下

            LogUtils.Config config = LogUtils.init(sInstance)
                    .setLogSwitch(BuildConfig.DEBUG)// 设置 log 总开关,包括输出到控制台和文件,默认开
                    .setConsoleSwitch(BuildConfig.DEBUG)// 设置是否输出到控制台开关,默认开
                    .setGlobalTag(null)// 设置 log 全局标签,默认为空
                    // 当全局标签不为空时,我们输出的 log 全部为该 tag,
                    // 为空时,如果传入的 tag 为空那就显示类名,否则显示 tag
                    .setLogHeadSwitch(true)// 设置 log 头信息开关,默认为开
                    .setLogFileSwitch(false)// 打印 log 时是否存到文件的开关,默认关
                    .setDir("")// 当自定义路径为空时,写入应用的 /cache/log/ 目录中
                    .setFilePrefix("")// 当文件前缀为空时,默认为 "alog",即写入文件为 "alog-MM-dd.txt"
                    .setBorderSwitch(true)// 输出日志是否带边框开关,默认开
                    .setSingleTagSwitch(true)// 一条日志仅输出一条,默认开,为美化 AS 3.1 的 Logcat
                    .setConsoleFilter(LogUtils.V)// log 的控制台过滤器,和 logcat 过滤器同理,默认 Verbose
                    .setFileFilter(LogUtils.V)// log 文件过滤器,和 logcat 过滤器同理,默认 Verbose
                    .setStackDeep(1)// log 栈深度,默认为 1
                    .setStackOffset(0);// 设置栈偏移,比如二次封装的话就需要设置,默认为 0
            LogUtils.d(config.toString());
            

你可能感兴趣的:(Android 日志打印器)