JBLog 0.1.3

JBLog 0.1.3

[BokJaeo] 维护。



JBLog 0.1.3

JBLog

Build Status Language Platforms License
CocoaPods Carthage Swift Package Manager

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

警告日志输出

当日志级别设置为 verbosedebuginfowarn 时,输出警告日志。

let log = JBLog()
log.warn("Warning message")

信息日志输出

当日志级别设置为 verbosedebuginfo 时,输出信息日志。

let log = JBLog()
log.level = .info
log.info("Information message")

调试日志输出

在将日志级别设置为verbosedebug时,会输出调试日志。

let log = JBLog()
log.level = .debug
log.debug("Debug message")

详细日志输出

只有当日志级别设置为verbose时,才会输出冗长日志。

let log = JBLog()
log.level = .verbose
log.verbose("Detail message")