:pencil: A simple util of log in Android develop.
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 栈偏移 Config.setSaveDays : 设置 log 可保留天数 Config.addFormatter : 新增 log 格式化器 log : 自定义 tag 的 type 日志 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
compile 'com.blankj:alog:1.9.1'or
在 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)// 输出日志是否带边框开关,默认开 .setSingleTagSwitch(true)// 一条日志仅输出一条,默认开,为美化 AS 3.1 的 Logcat .setConsoleFilter(ALog.V)// log 的控制台过滤器,和 logcat 过滤器同理,默认 Verbose .setFileFilter(ALog.V)// log 文件过滤器,和 logcat 过滤器同理,默认 Verbose .setStackDeep(1)// log 栈深度,默认为 1 .setStackOffset(0)// 设置栈偏移,比如二次封装的话就需要设置,默认为 0 .setSaveDays(3)// 设置日志可保留天数,默认为 -1 表示无限时长 // 新增 ArrayList 格式化器,默认已支持 Array, Throwable, Bundle, Intent 的格式化输出 .addFormatter(new ALog.IFormatter() { @Override public String format(ArrayList list) { return "ALog Formatter ArrayList { " + list.toString() + " }"; } }); ALog.d(config.toString()); }
借助我帮大家写好的
Live Templates大家可以更方便地使用
ALog,演示动画如下所示。
大家可以下载这个 Live Templates 包,然后在 AS 中
File -> Import Settings即可。
关于如何写
Live Templates,其实大家可以借鉴安卓自带的
Live Templates,然后效仿一下即可。
ALog.d("debug");
ALog.d("customTag", "debug0", "debug1");
ALog.d(longStr);
ALog.file(longStr);
ALog.json(json);
ALog.xml(xml);
更多使用请运行 demo 来查看。