共计 1221 个字符,预计需要花费 4 分钟才能阅读完成。
咱们都晓得这个问题:咱们想调试打印咱们的应用程序,但聊天中的信息只是一团糟。它们没有格式化,很难失去一个概览 ….,这切实是不好玩。这就是为什么我将向你介绍 logger 包,它正好解决了这个问题。让咱们开始吧!
留神:Logger 可能如下所示:
装置
创立应用程序后咱们要做的第一件事就是增加 logger。为此,咱们将应用命令 dart pub add logger
。您应该相熟这些命令,否则,我建议您再次查看 Flutter 的基础知识。
还有一个叫 logger_flutter
的包,如果你应用 Flutter,就能够应用它。如果你装置了这个,你能够摇摆你的手机,它将在手机上显示控制台。你能够用 flutter pub add logger_flutter
来装置它。你手机上的控制台可能看起来像这样:
根底
首先,你必须创立一个 logger 变量。如果你应用像 Riverpod 这样的包,你能够把它们存储在一个提供者中,以便在整个应用程序中拜访它们(在这里学习 Riverpod)
在这里,咱们曾经有了许多对于日志程序外观的选项:
当初咱们想在控制台中显示一些货色。有多个日志级别,我将在此处列出:
深刻理解和高级用法
咱们来谈谈 LogFilter
、LogPrinter
和 LogOutput
。它们用于更多地定制您对日志的体验:
LogFilter
LogFilter 决定应该显示哪些日志事件,哪些不显示。默认设置为 DevelopmentFilter
,在调试模式下显示所有 level >= Logger.level
的日志,但在公布模式下,所有日志都将被疏忽。当然,你能够创立你本人的 LogFilter
。为此,您必须创立一个扩大 LogFilter
的类并创立一个名为 shouldLog
的函数。
LogPrinter
LogPrinter
创立并格式化输入,而后将其发送到 LogOutput
(咱们将在下一章探讨 LogOutput)。当然,你能够实现本人的 LogPrinter
:
本软件包的作者阐明:
如果您创立了一个可能对其他人有帮忙的酷 LogPrinter,请随时关上拉取申请。:)
LogOutput
LogOutput
负责将日志行发送到所需的目的地。它的默认实现 ConsoleOutput
将每一行发送到零碎控制台。有可能,未来 LogOutput
能够将文件发送到 firebase
或 Logcat
。
进一步浏览和论断
在本文中,您理解了控制台管理器“logger”的基础知识。您曾经看到了它的易用性以及控制台输入的好看水平。
如果您应用 Freezed、Isar 或 Flutter Hooks 等软件包,您能够充分发挥 logger 的全副性能。如果你想学习这些附加性能,我有对于它们的残缺教程。在这里查看它们。
在接下来的几篇文章中,我将介绍更多有点简单的包,并对它们进行解释。如果你不想错过这些,我倡议你关注我。我尽力写出最简略的教程,让大家都能了解。如果你观赏这项工作,如果你能反对这个高质量的内容,并给我一些掌声,我将非常感激!