LogsManager 12.4.0

LogsManager 12.4.0

Anton Plebanovich 维护。



 
依赖
APExtensions/Occupiable>= 10.1.6
CocoaLumberjack/Swift>= 3.7.2
RoutableLogger>= 11.0.0
 

  • Anton Plebanovich

LogsManager

Carthage compatible Swift Package Manager compatible Version License Platform CI Status

CocoaLumberjack 之上的日志管理器。允许根据您的应用程序基础设施轻松配置日志组件。具有几个方便的日志记录器:ConsoleLogger、AlertLogger、NotificationLogger。

示例

为了运行示例项目,首先复制仓库,并在 Example 目录中运行 pod install

安装

Swift 包管理器

  • 在 Xcode 中选择 文件 > 添加包...
  • 将以下内容复制粘贴到搜索框中:https://github.com/APUtils/LogsManager
  • ‼️确保选择了 升级到下一个主要版本 并将 12.3.0 输入到下限。Xcode 存在一个问题,它默认不会选择高于 9.0.0 的版本‼️
  • 点击 添加包
  • 选择 LogsManager 以添加所有内容,然后点击 添加包

CocoaPods

LogsManager 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中

对于主应用程序目标

pod 'LogsManager', '~> 12.3'

对于应用程序扩展目标

pod 'LogsManager/Core', '~> 12.3'

Carthage 弃用

请检查 官方指南

Cartfile

github "APUtils/LogsManager" "9.1.19"

安装命令:carthage bootstrap

LogsManager 框架添加到主应用程序和任何应用程序扩展中。仅对主应用程序(排除任何应用程序扩展)添加 LogsManagerExtensionUnsafe 框架。

Carthage 与 XCFrameworks 弃用

请检查 官方指南

Cartfile

github "APUtils/LogsManager" "9.1.20"

安装命令:carthage bootstrap --use-xcframeworks

LogsManager 框架添加到主应用程序和任何应用程序扩展中。仅对主应用程序(排除任何应用程序扩展)添加 LogsManagerExtensionUnsafe 框架。

使用

如果您想将日志按组件分开,首先需要添加日志组件。

let vcComponent = LogComponent(name: "ViewController", logName: "VC") { filePath, _ in
    let fileName = String.getFileName(filePath: filePath)
    return fileName == "ViewController"
}
LoggersManager.shared.registerLogComponent(vcComponent)

let didAppearComponent = LogComponent(name: "Did Appear", logName: "viewDidAppear") { _, function in
    return function.hasPrefix("viewDidAppear")
}
LoggersManager.shared.registerLogComponent(didAppearComponent)

然后,您需要添加记录器,并指定它们的组件和日志级别。

// Log all ViewController debug messages
let logger = ConsoleLogger(logComponents: [vcComponent], logLevel: .debug, newLinesSeparation: false)
LoggersManager.shared.addTextLogger(logger)

// Present alert for any error log
let allAlertLogger = AlertLogger(logComponents: nil, logLevel: .error)
LoggersManager.shared.addTextLogger(allAlertLogger)

您可以使用便捷的全局函数来记录日志。

logInfo("Staring network request to: \(request.url)")
logDebug("Received data")
logVerbose("Data payload: \(data)")
logError("Got error response", error: error, data: ["request": request])

有关更多详细信息,请参阅示例和测试项目。

贡献

任何贡献都十分欢迎!您可以通过GitHub上的pull request和issue进行贡献。

作者

Anton Plebanovich, [email protected]

许可证

LogsManager遵循MIT许可证。有关更多信息,请参阅LICENSE文件。