Android 还在使用LogCat打日志?XLog框架;日志打印到控制台,打印到文件中。

505 阅读3分钟

目录:

  1. 为什么要打印日志?
  2. XLog是什么
  3. XLog如何使用

一、为什么要打印日志?

日志是我们系统出现错误时,最快速有效的定位工具,没有日志给出的错误信息,遇到报错你就会一脸懵逼;而且日志还可以用来记录业务信息,比如记录用户执行的每个操作,不仅可以用于分析改进系统,同时在遇到非法操作时,也能很快找到凶手。

在学习日志记录之前,很多同学应该是通过 Log.d 或者System.out.println 输出信息来调试程序的,简单方便。

但是,System.out.println 存在很严重的问题!首先,System.out.println 是一个同步方法,每次调用都会导致 I/O 操作,比较耗时,频繁使用甚至会严重影响应用程序的性能,所以不建议在生产环境使用。此外,它只能输出简单的信息到标准控制台,无法灵活设置日志级别、格式、输出位置等。

所以我们一般会选择专业的日志框架或工具库,比如 XLog、Timber和Logger这里我们主要讲解XLog,因为它用起来很快速很便捷,比如日志记录到文件,只需要配置参数,就可以使用这个功能,非常的人性化。

在这里插入图片描述


二、XLog是什么

框架链接:github.com/elvishew/xL… 在这里插入图片描述

轻量、美观强大、可扩展的 Android 和 Java 日志库,可同时将日志打印在如 Logcat、Console 和文件中。如果你愿意,你可以将日志打印到任何地方。

可以看到XLog能解决的问题:

  1. 将内容记录到文件中。
  2. 内容方面也会帮助我们进行优化,比如对配置进行优化,就可以自动加上时间。
  3. 也可以自定义文件的存活时间,超过了则自动删除。
  4. 还可以限制每个文件的大小。

三、XLog如何使用

1、依赖

implementation 'com.elvishew:xlog:1.11.1'

2、配置和初始化

xLog 具有高度可扩展性,几乎任何一个组件都是可配置的。
比如我们想配置,log日志记录到哪个目录;每个文件最大容量是多少;可以自定义存活时间等等。在Application中进行初始化。

val config = LogConfiguration.Builder()
            .logLevel(LogLevel.ALL)// 指定日志级别,低于该级别的日志将不会被打印,默认为 LogLevel.ALL
            .tag("Snow cone")// 指定 TAG
            .xmlFormatter(DefaultXmlFormatter())// 指定 XML 格式化器,默认为 DefaultXmlFormatter
            .stackTraceFormatter(DefaultStackTraceFormatter())// 指定调用栈信息格式化器
            .build();

        val androidPrinter =
            AndroidPrinter(true)

        val logFolder =
            Environment.getExternalStorageDirectory().path.toString() + "/android_log"

        val filePrinter = FilePrinter.Builder(logFolder)
            .fileNameGenerator(DateFileNameGenerator())//日志文件名格式
            .backupStrategy(FileSizeBackupStrategy((50 * 1024 * 1024).toLong()))//单个日志文件的大小默认:FileSizeBackupStrategy(1024 * 1024) 50MB
            .cleanStrategy(FileLastModifiedCleanStrategy(7L * 24L * 60L * 60L * 1000L))//日志文件存活时间,单位毫秒 7天
            .flattener(ClassicFlattener())//配置写入文件日志格式:年月日时分秒
            .writer(SimpleWriter())//配置了writer才支持日志写文件
            .build()

        XLog.init(config, androidPrinter, filePrinter)

3、在Activity中进行使用

XLog.d("测试 xlog 日志框架1")

4、日志文件内容如下:

(1)文件路径 在这里插入图片描述 (2)点击文件

在这里插入图片描述 (3)文件内容

在这里插入图片描述

好了,这篇文章就介绍到这里~,我是前期后期,如果你也有日志相关的经验分享,也可以在评论区讨论哦,我们下一篇文章再见。