Concepter_Log 1.2.1

Concepter_Log 1.2.1

测试已测试
语言语言 SwiftSwift
许可协议 MIT
发布时间上次发布2017年3月
SwiftSwift 版本3.0
SPM支持 SPM

Andrew Skrypnyk 维护。



  • Damien

Log 是一个强大的日志框架,它提供了内置的主题和格式化程序,并提供了一个友好的 API 来定义自己的。

通过安装 XcodeColorsKZLinkedConsole 来充分利用 Log

用法安装许可协议

用法

基础

  • 就像使用 print 一样使用 Log
let Log = Logger()

Log.trace("Called!!!")
Log.debug("Who is self:", self)
Log.info(some, objects, here)
Log.warning(one, two, three, separator: " - ")
Log.error(error, terminator: "😱😱😱\n")

  • 通过将 enabled 设置为 false 来禁用 Log
Log.enabled = false
  • 定义一个最低的严重级别,只打印具有更大或相同严重性的消息
Log.minLevel = .warning

严重级别为 tracedebuginfowarningerror

自定义

  • 通过更改其 Theme 和/或 Formatter 来创建自己的 Logger

一个推荐的做法是扩展 FormattersThemes

extension Formatters {
    static let detailed = Formatter("[%@] %@.%@:%@ %@: %@", [
        .date("yyyy-MM-dd HH:mm:ss.SSS"),
        .file(fullPath: false, fileExtension: false),
        .function,
        .line,
        .level,
        .message
    ])
}

extension Themes {
    static let tomorrowNight = Theme(
        trace:   "#C5C8C6",
        debug:   "#81A2BE",
        info:    "#B5BD68",
        warning: "#F0C674",
        error:   "#CC6666"
    )
}
let Log = Logger(formatter: .detailed, theme: .tomorrowNight)

更多信息,请查看内置的 格式化程序主题

提示:Log.formatLog.colors 对于可视化调试您的日志器非常有用。

您可以为日志器创建尽可能多的实例!

let Basic = Logger(formatter: .default, theme: nil)
let Short = Logger(
    formatter: Formatter("%@: %@", .level, .message),
    theme:     .tomorrowNightEighties,
    minLevel:  .info
)

  • 通过将主题设置为 nil 来关闭颜色
Log.theme = nil

高级

在格式化程序中包含一个自定义的 Block 组件,以将结果打印到每条日志消息中

struct User {
    static func token() -> Int {
        return NSUserDefaults.standardUserDefaults.integerForKey("token")
    }
}

Log.formatter = Formatter("[%@] %@: %@", .block(User.token), .level, .message)

许可协议

版权所有 © 2015-2016 Damien (http://delba.io

特此免费授予任何获得此软件及其相关文档副本(“软件”)的人士在不受限制的情况下处理该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售副本的权利,并且许可向提供该软件的人员使用本软件,但前提是

上述版权声明和本许可协议应包含在软件的任何副本或本质部分中。

本软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的还是其他形式的,包括但不限于以下保证:商品性、特定用途的适用性以及非侵权性。在任何事件中,作者或版权所有者不应对任何索赔、损害或其他责任承担责任,无论是合同行为、侵权行为还是其他行为,无论该行为是由软件本身、软件的使用或其他软件的涉及而产生的。