ALog

Project Url: Blankj/ALog
Introduction: :pencil: A simple util of log in Android develop
More: Author   ReportBugs   
Tags:

ALog build License

Functions

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

API→ALog.javaDemo

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.setConsoleFilter : 设置 log 控制台过滤器
Config.setFileFilter    : 设置 log 文件过滤器
Config.setStackDeep     : 设置 log 栈深度
v                       : tag 为类名的 Verbose 日志
vTag                    : 自定义 tag 的 Verbose 日志
d                       : tag 为类名的 Debug 日志
dTag                    : 自定义 tag 的 Debug 日志
i                       : tag 为类名的 Info 日志
iTag                    : 自定义 tag 的 Info 日志
w                       : tag 为类名的 Warn 日志
wTag                    : 自定义 tag 的 Warn 日志
e                       : tag 为类名的 Error 日志
eTag                    : 自定义 tag 的 Error 日志
a                       : tag 为类名的 Assert 日志
aTag                    : 自定义 tag 的 Assert 日志
file                    : log 到文件
json                    : log 字符串之 json
xml                     : log 字符串之 xml

How to use

compile 'com.blankj:alog:1.6.0' or Download

Usage

初始化

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

// init it in ur application
public void initALog() {
    ALog.Config config = ALog.init(this)
            .setLogSwitch(BuildConfig.DEBUG)// 设置 log 总开关,包括输出到控制台和文件,默认开
            .setConsoleSwitch(BuildConfig.DEBUG)// 设置是否输出到控制台开关,默认开
            .setGlobalTag(null)// 设置 log 全局标签,默认为空
            // 当全局标签不为空时,我们输出的 log 全部为该 tag,
            // 为空时,如果传入的 tag 为空那就显示类名,否则显示 tag
            .setLogHeadSwitch(true)// 设置 log 头信息开关,默认为开
            .setLog2FileSwitch(false)// 打印 log 时是否存到文件的开关,默认关
            .setDir("")// 当自定义路径为空时,写入应用的/cache/log/目录中
            .setFilePrefix("")// 当文件前缀为空时,默认为"alog",即写入文件为"alog-MM-dd.txt"
            .setBorderSwitch(true)// 输出日志是否带边框开关,默认开
            .setConsoleFilter(ALog.V)// log 的控制台过滤器,和 logcat 过滤器同理,默认 Verbose
            .setFileFilter(ALog.V)// log 文件过滤器,和 logcat 过滤器同理,默认 Verbose
            .setStackDeep(1);// log 栈深度,默认为 1
    ALog.d(config.toString());
}

借助我帮大家写好的Live Templates大家可以更方便地使用ALog,演示动画如下所示。

templates

大家可以下载这个Live Templates包,然后在 AS 中File→Import Settings即可。

关于如何写Live Templates,其实大家可以借鉴安卓自带的Live Templates,然后效仿一下即可。

默认初始化下的图例

  • ALog.d("debug");

detail

  • ALog.d("customTag", "debug0", "debug1");

args

  • ALog.d(longStr);

long

  • ALog.file(longStr);

file

filecontent

  • ALog.json(json);

json

  • ALog.xml(xml);

xml

更多使用请运行 demo 来查看。

Contact

jianshu weibo Blog QQ0Group QQ1Group

Android 开发经验分享
随手点击下面广告支持本站吧
 
Android 开发经验分享