Hemend Logger

用于管理日志系统的简单日志记录管理器,它扩展了 Logging 包。

AnsiLogger

Screencast.from.06-01-2023.11.49.16.AM.webm

安装?

❗ 要开始使用 Hemend Logger,您必须在您的机器上安装 Dart SDK

hemend_logger 添加到您的 pubspec.yaml

dependencies:
  hemend_logger: <latest-version>

安装它

dart pub get

用法

此软件包将 logging 包作为其默认日志机制,提供了基础的日志功能。然而,用户可以通过集成自己定制的日志系统或方法来扩展和增强此日志系统。

本软件包包含一个 AnsiLogger 作为其固有的日志工具,它有效地促进了在终端环境中打印日志。然而,它具有内在的灵活性,可以进行扩展以产生各种日志功能。例如,它可以被扩展以支持在线日志记录,从而允许日志数据的持久化存储。此外,它可以进一步增强以提供应用内交互式日志系统,从而能够利用 Toast 消息或类似的机制来传达应用程序界面中的日志信息。

初始化

为获得最佳使用效果,建议使用 [HemendLogger] 提供的默认配置。通过这样做,您可以轻松地使用预定义的设置和规范,而无需任何额外的自定义。

HemendLogger.defaultLogger()

要在主方法中修改应用程序的日志级别,请在初始化 [HemendLogger] 之前使用 Logger.root.level = <Level> 选项。此方法允许您调整日志的详细程度并控制应用程序生成的日志信息的数量。

要启用分层日志功能,必须确保 hierarchicalLoggingEnabled 变量设置为 true。此变量由 logging 包提供,它允许分层日志系统正常运行。通过启用此变量,您启用了分层结构,从而能够更精细地控制和组织日志记录器和日志级别。

要使用自定义日志功能,请参阅包内提供的相关文档。

可访问性

由于此软件包的默认实现主要是对 logging 包提供的默认 Logger 的封装,因此其主要贡献在于提供了一个有用的 mixin。这个 mixin 可以应用于类,从而使它们能够访问额外的日志功能。通过包含此 mixin,类可以无缝地将日志功能集成到其实现中,增强其日志功能并促进生成信息丰富的日志消息。

class Example with LogableObject{
  @override
  String get loggerName => 'ExampleObject';
}

或者,您可以直接使用 logging 包提供的默认 Logger 类,而无需依赖任何额外的 mixin 或自定义实现。默认 Logger 类提供了全面的日志功能,可以直接在您的代码中访问和使用。通过使用默认 Logger,您可以以直接的方式利用 logging 包提供的功能,而无需任何额外的扩展或 mixin。


持续集成?

Hemend Logger 内置了由 Very Good Workflows 支持的 GitHub Actions 工作流,但您也可以添加您首选的 CI/CD 解决方案。

开箱即用,每次拉取请求和推送时,CI 会对代码进行 格式化linting测试。这可以确保在您添加功能或进行更改时代码保持一致并正常运行。该项目使用 Very Good Analysis 来提供我们团队使用的严格分析选项集。代码覆盖率由 Very Good Workflows 强制执行。


GitHub

查看 Github