LogCountry 0.15

LogCountry 0.15

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最新版本2017年1月
SwiftSwift 版本3.0
SPM支持 SPM

Zeke Abuhoff维护。



  • Ezekiel Abuhoff

logo

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...")

无论何时需要您的日志文件,您都可以从文档目录中检索。

授权证

MIT授权