第八十七回:如何打印日志

文章目录

  • 概念介绍
  • 使用方法
  • 示例代码

我们在上一章回中介绍了自定义字体图标相关的内容,本章回中将介绍 如何打印日志.闲话休提,让我们一起Talk Flutter吧。

概念介绍

我们在本章回中介绍的日志就是log,log在调试过程十分有用,可以帮助我们分析程序运行过程,协助查找程序中的bug。本章回中将介绍如何在程序中打印日志。

使用方法

在程序中可以使用print()方法或者debugPrint()方法打印日志,在这两个方法中传入被打印的内容后我们就可以在控制台中看到被打印的内容。使用十分方便。下面是使用这两个方法的示例代码:

 print('HomePage initState');
 debugPrint('HomePage initState');

不过在项目中这种方式就有点太简单了,比如我们想查看日志打印的时间,对日志进行分级处理,以及通过颜色来区分日志,这些都是很实用的需求,但是这两个方法无法满足这些需求。因此我们引入了三方包:logger来实现这些需求.该包是pub仓库中比较流行的日志输出包,它的用法类似Andoird中打印日志的Log。接下来我们通过示例代码来演示它的使用方法,不过在使用前需要在yaml文件中导入logger包,导入包的方法在前面章回中介绍过,这里就不介绍了。

示例代码

  Logger logger = Logger(
    printer: PrettyPrinter(
        methodCount: 0,
        printEmojis: false,
        printTime: true,
    ),
  );


void initState() {
  ///测试各种log输出
  logger.v('initState');
  logger.i('initState');
  logger.w('initState');
  logger.d('initState');
  logger.e('initState');
}

在上面的代码中我们首先创建了Logger对象,然后使用该对象的v,i等方法来打印日志。这些方法的名字和Android中Log提供的方法相同,分别代表着不同级别的日志。

在创建Logger对象时可以对Logger进行配置,比如printEmojis表示输出Emoji图标,默认处于打开状态,我感觉图标不好看,所以将其配置为false,这样就不会在日志中输出图标了。

printTime表示输出日志的同时输出时间,默认是关闭状态,我们将其配置为true,这样在输出日志的同时也会输出时间。

编译并且运行上面的程序,就会在终端中看到输出的日志,不同级别的日志还配有不同的颜色。我在这里就不演示程序的运行结果了,建议大家自己动手去实践。

在Flutter中日志输出不是很方便,官方也意识到了这点,因此推出了Logging包,大家可以自行安装使用,它的用法和Logger包类似,我在这里就不演示了,大家可以参考官方官方文档中的介绍。

在这现个包之间,我还是推荐Logger,主要是它的日志输出和Android的日志输出基本上一致,当然这只是个人习惯而已。

看官们,关于"如何打印日志"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

你可能感兴趣的:(一起Talk,Flutter吧,flutter,log)