第三方日志文件ALog使用详解

  • 源码下载地址

https://github.com/Blankj/ALog

  • Application中初始化配置
    /**
     * 初始化Log工具类
     */
    private void initLog() {
LogUtils.getConfig()
.setLogSwitch(true)// 设置 log 总开关,包括输出到控制台和文件,默认开
.setConsoleSwitch(true)//设置是否输出到控制台开关,默认开,如果设置为false控制台logcat将看不到日志
 .setLog2FileSwitch(true)// 打印 log 时是否存到文件的开关,默认关,
即只有LogUtils.file才会将日志写入TXT文件中,反之所有日志操作都会写入TXT文件中。
.setSingleTagSwitch(true)//一条日志仅输出一条,默认开,为美化 AS 3.1.0 的 Logcat
.setmLogFileTypeAndTag(false)// 设置日志文件打印type和tag开关,默认为开
.setLogHeadSwitch(false)// 设置 log 头信息开关,默认为开(上面是仅日志文件,此处是控制台+日志文件)
.setGlobalTag("")//设置log全局标签,默认为空,当全局标签不为空时,我们输出的log全部为该tag;
//为空时,如果传入的 tag 为空那就显示类名,否则显示 tag
.setLogFilePrintDeviceInfo(false)// 设置日志文件打印设备信息开关,默认为开
.setDir(Environment.getExternalStorageDirectory())// 当自定义路径为空时,
写入应用的/cache/log/目录中
.setFilePrefix("vkl-log")// 当文件前缀为空时,默认为"util",
//即写入文件为"util-yyyy-MM-dd.txt"
.setBorderSwitch(true)// 输出日志是否带边框开关,默认开
.setConsoleFilter(LogUtils.V)// log 的控制台过滤器,和 logcat 过滤器同理,默认 Verbose
.setFileFilter(LogUtils.V)// log 文件过滤器,和 logcat 过滤器同理,默认 Verbose
.setStackDeep(1)// log 栈深度,默认为 1
.setStackOffset(0)// 设置栈偏移,比如二次封装的话就需要设置,默认为 0
// 新增 ArrayList 格式化器,默认已支持 Array, Throwable, Bundle, Intent 的格式化输出
.addFormatter(new LogUtils.IFormatter<ArrayList>() {
@Override
public String format(ArrayList list) {
return "ALog Formatter ArrayList { " + list.toString() + " }";
                    }
                })
                .setSaveDays(3);// 设置日志可保留天数,默认为 -1 表示无限时长
        LogUtils.e("日志配置参数打印:\n:" + LogUtils.getConfig().toString());
    }
  • 各个功能区别截图

setSingleTagSwitch()

true

一条日志仅输出一条,默认开,如果不设置默认日志也是这样打印出来的

 

False:

setLogHeadSwitch()

设置 log 头信息开关,默认为开,第一条就是默认或者设置为true,2,3条是设置为false

同时这个也设置控制台输出的log形式

true:

false:

setmLogFileTypeAndTag()

设置日志文件打印type和tag开关,默认为开,红框就是

 

setLogFilePrintDeviceInfo()

设置日志文件打印设备信息开关,默认为开

setGlobalTag()

设置log 全局标签,默认为空,当全局标签不为空时,我们输出的log全部为该tag.为空时,即使你自定义 tag也会被强制设置成以上tag。

 

 

如果传入的 tag 为空那就显示类名,自定义的tag还是正常显示

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章