测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可 | MIT |
发布最新版本 | 2017年1月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由Zeke Abuhoff维护。
LogCountry是一个简单的Swift编写的iOS日志框架。
LogCountry的基本功能很简单。只需在任何地方调用log()
函数并传入您希望打印的内容。
log("This framework is great!")
您还可以设置日志级别,以过滤掉不相关的消息。
将级别设置为silent
以停用所有对log()
的调用。这将使控制台变得干净。
setLogLevel(to: .silent)
log("Is this thing on?") // This message will not appear in the logs.
将级别设置为error
以仅打印最重要的消息。您可以指定消息的级别为error
,但log()
消息默认也会以那个级别打印。
setLogLevel(to: .error)
log(.error, "Do you concur, doctor?") // This will print.
log("Yes, doctor, I concur.") // So will this.
将级别设置为verbose
如果您想看到描述程序正常操作以及错误消息的消息。
setLogLevel(.verbose)
log(.verbose, "Loading files...") // This will print.
log(.error, "Aaand they're gone.") // So will this.
将级别设置为debug
如果您想打印所有日志消息。
setLogLevel(.debug)
log(.verbose, "API client initialized.")
log(.debug, "API status normal. Access token = XXXXX")
log(.error, "Uh-oh. Something might be broken.")
log("Yeah, definitely broken. You didn't use the XXXXX placeholder token, did you?")
// These messages will all print.
为您的消息指定日志级别可以帮助您更有效地调试。而LogCountry使这一点变得简单!
长日志可能难以阅读 - 哪条消息在哪个级别被记录?LogCountry通过支持每个日志级别的前缀来帮助您理清这些事情。
日志级别前缀是在特定级别上创建的所有日志之前的消息。默认情况下,error
级别没有前缀,但verbose
有“VERBOSE: ”,而debug
有“DEBUG: ”。
您可以将这些级别设置为您喜欢的任何内容。
setLogLevelPrefix(forLevel: .error, to: "ERROR DETECTED - ")
setLogLevelPrefix(forLevel: .verbose, to: "V - ")
log(.error, "No internet.") // This will print as 'ERROR DETECTED - No internet.'
log(.verbose, "Searching for internet...") // This will print as 'V - Searching for internet...'
怎么了?您不喜欢全局函数?对单例模式有所顾忌?对模块化有强迫症?
没问题!您可以实例化一个LogCabin
,它将所有级别和前缀设置本地化。
let uiCabin = LogCabin()
uiCabin.setLogLevelPrefix(forLevel: .debug, to: "UI Debug: ")
uiCabin.level = .debug
uiCabin.log(.debug, "The login screen has appeared.") // Will print as 'UI Debug: The login screen has appeared.'
设置LogCabin
实例可以帮助您为应用程序的每个部分创建特定的日志。如果您的框架并希望一切都在内部完成,它们也很有用。
您可以将所有LogCountry的日志存储在文件中。只需指定一个文件名,LogCountry就会在该文件中记录所有日志,并根据合适的日志级别前缀进行记录,如果文件不存在将会创建该文件。
writeLogs(to: "myLogs.txt")
log("Captain's log, stardate 2017")
log("We're having trouble with tribbles.")
// These messages now appear in a file called 'myLogs.txt'
LogCabin
也可以写入文件。
let networkCabin = LogCabin()
networkCabin.write(to: "networkLogs.txt")
networkCabin.log("Beginning network diagnostics...")
无论何时需要您的日志文件,您都可以从文档目录中检索。