LogsManager
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文件。