JBLog
JBLog 是用于 Swift 项目的日志输出库。
使用 JBLog 可以轻松地记录输出,例如像 print()
或 NSLog()
。可以使用 JBLog.Level
轻松更改日志输出级别。还可以轻松更改其他信息的输出(日期、文件名、行号、函数名等)。
安装
CocoaPods
将以下项添加到 CocoaPods 依赖管理文件(Podfile)中。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target '<YourProjectName>' do
pod 'JBLog', '~> 1.0.0'
end
如果已经在使用 Podfile 管理依赖,则只需要添加 JBLog 依赖。
pod 'JBLog', '~> 1.0.0'
如果已添加依赖到 Podfile,则通过运行以下命令安装 JBLog 库。
$ pod install
有关 CocoaPods 的安装和使用详情,请访问官方网站。
Carthage
将以下条目添加到 Carthage 依赖管理文件(Cartfile)中。
github "bokjaeo/JBLog" ~> 1.0.0
如果已添加依赖到 Cartfile,则通过运行以下命令安装 JBLog 库。
$ carthage update
有关 Carthage 的安装和使用详情,请访问官方网站。
Swift Package Manager
将以下条目添加到包依赖文件(Package.swift)中。
.package(url: "https://github.com/bokjaeo/JBLog.git", from: "1.0.0")
如果已将依赖项添加到 Package.swift 中,请通过运行以下命令安装 JBLog 库。
$ swift build
有关 Swift Package Manager 的安装和使用详情,请访问 官方网站。
基本用法
将 JBLog 模块添加到将使用日志输出的文件中。
import JBLog
创建 JBLog 实例对象并输出日志。
let log = JBLog()
log.warn("Warning message")
推荐方法
建议在项目的 App Delegate 对象(AppDelegate)或全局文件中声明并使用全局常量来声明和使用 JBLog 实例对象。
import UIKit
import JBLog
let log = JBLog()
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]? ) -> Bool {
log.warn("Warning message")
someMethod()
return true
}
func someMethod() {
log.error("Error message")
}
//... The rest is omitted ...
}
在执行以上代码时,以下日志将输出到控制台。
[Warning] > Warning message
[Error] > Error message
日志级别
日志消息的输出可能取决于 JBLog 实例对象的设置。是否记录由日志级别(JBLog.Level
)决定。
支持的日志级别
日志级别 | 描述 |
---|---|
none |
不输出日志。 |
error |
仅输出错误日志。 |
warn |
输出错误和警告日志。 |
info |
输出错误、警告和信息日志。 |
debug |
输出错误、警告、信息和调试日志。 |
verbose |
输出错误、警告、信息、调试和详细日志。 |
设置日志级别
可以通过 level
属性设置 JBLog 实例对象的日志级别。以下是输出所有日志的示例。
let log = JBLog()
log.level = .verbose
可以为每个实例对象设置不同的日志级别。
let log1 = JBLog()
log1.level = .verbose
let log2 = JBLog()
log2.level = .warn
为了在进行开发和部署环境时设置不同的日志级别,可以根据 Preprocessor Macros
中的 DEBUG=1
宏设置不同的日志级别。
let log = JBLog()
#if DEBUG
log.level = .verbose
#else
log.level = .warn
#endif
如果没有指定日志级别,则默认为 warn
。
日志输出
可以使用 JBLog 实例对象的日志输出方法输出日志。
错误日志输出
如果日志级别不是 none
,则始终输出错误日志。
let log = JBLog()
log.error("Error message")
警告日志输出
当日志级别设置为 verbose
、debug
、info
或 warn
时,输出警告日志。
let log = JBLog()
log.warn("Warning message")
信息日志输出
当日志级别设置为 verbose
、debug
或 info
时,输出信息日志。
let log = JBLog()
log.level = .info
log.info("Information message")
调试日志输出
在将日志级别设置为verbose
或debug
时,会输出调试日志。
let log = JBLog()
log.level = .debug
log.debug("Debug message")
详细日志输出
只有当日志级别设置为verbose
时,才会输出冗长日志。
let log = JBLog()
log.level = .verbose
log.verbose("Detail message")