EchoKit使您能够轻松监视和调试iOS应用程序,这是一个简单且可定制的记录解决方案。
- iOS 13.0 或更高版本
- Swift 5.0 或更高版本
要使用Swift Package Manager将EchoKit集成到您的项目中,在您的Package.swift
文件中将其作为依赖项添加
dependencies: [
.package(url: "https://github.com/KasRoid/EchoKit", from: "1.0.0")
]
另外,您可以通过Xcode添加它,导航到
文件 > 添加 > 搜索 'https://github.com/KasRoid/EchoKit'
将EchoKit添加到您的Podfile
pod 'EchoKit'
然后,运行以下命令:
pod install
EchoKit提供八个日志级别进行监视和调试
1.通知:通常用于可能有助于跟踪应用程序流的不太重要的消息。
2.信息:提供有关应用程序过程的通用信息,通常用于常规操作。
3.调试:提供有助于开发时诊断问题的详细调试信息。
4.跟踪:提供比调试
更细粒度的调试信息,捕获操作的逐步跟踪。
5.警告:指示可能的问题或意外情况,这不一定是错误,但需要注意。
6.错误:表示一个干扰正常操作但不会使程序终止的失败或问题。
7.故障:表示可能导致应用程序状态损坏或需要重新启动才能恢复的严重失败。
8.关键:用于极端严重的错误,可能造成意外终止,并需要立即注意。
- 导入EchoKit
首先,在您想使用它的地方导入EchoKit
。
import EchoKit
- 启动EchoKit
通过调用一次Console.start()
来初始化EchoKit,以启用日志记录。建议在SceneDelegate
或第一个UIViewController
的viewDidLoad
方法中调用此操作。
Console.start()
- 记录消息
使用Console.echo
以不同级别记录消息。请注意,这将在EchoKit控制台中打印消息,而不是Xcode控制台。
Console.echo("Welcome to EchoKit", level: .notice)
- 与
print
函数集成
您可以通过采用Echoable
协议使用print
函数将消息打印到EchoKit控制台。
final class EchoViewController: UIViewController, Echoable {
override func viewDidLoad() {
super.viewDidLoad()
print("This message appears in both the EchoKit console and Xcode's console.")
}
}
如果您正在使用自定义日志级别并且希望将其与EchoKit集成,请按照以下步骤操作
- 自定义日志级别
要将您的自定义日志级别与EchoKit集成,采用EchoLevel
协议。
enum LogLevel: String, Codable, EchoLevel {
case network
case ga
case verbose
case info
case debug
case warning
case error
case assert
case fatal
public var filterKey: String? {
rawValue
}
public var echoLevel: Level {
switch self {
case .network:
return .trace
case .ga:
return .info
case .verbose:
return .debug
case .info:
return .info
case .debug:
return .debug
case .warning:
return .warning
case .error:
return .error
case .assert:
return .critical
case .fatal:
return .critical
}
}
- 自定义记录器
实现一个自定义记录器,以便通过EchoKit路由消息。例如,如果您正在使用如下记录器:
final class Logger {
static func log(level: LogLevel, message: Any) {
guard let message = message as? String else { return }
Console.echo(message, level: level)
}
}
- 注册自定义日志级别
将与EchoKit注册您的自定义日志级别。
Console.register(LogLevel.self)
- Doyoung Song
EchoKit遵从MIT许可。有关更多详细信息,请参阅LICENSE文件。