LogKit 2.3.2

LogKit 2.3.2

测试已测试
语言语言 SwiftSwift
许可证 BSD
发布日期最新发布Aug 2016
SPM支持 SPM

LogKit 项目 维护。



LogKit 2.3.2

  • 作者为
  • Justin Pawela 和 The LogKit 项目

LogKit

http://www.logkit.info/

LogKit 是一个构建简单、执行高效、发布安全、可扩展性强的日志框架。它使用纯 Swift 编写,适用于 OS X、iOS、tvOS 和 watchOS 应用的日志记录。对于寻求比 print() 更强大功能的开发者,LogKit 可以瞬间上手,并准备好将日志输出到控制台、一个文件、一个 HTTP 服务,或者全部三种。需要记录到其他地方?定义自己的端点也很容易。

此读取文件仅包含一些关于 LogKit 的入门提示。要了解所有其他内容,请查看 项目网站

内容

功能

  • [x] 简单设置
  • [x] 完整的文档
  • [x] 内置控制台、文件和 HTTP 端点
  • [x] 每个端点的优先级过滤
  • [x] 每个端点的完整日志条目 格式自定义
  • [x] 通过简单的协议遵守创建自定义端点

要求

  • 针对 OS X 10.9+、iOS 7+、tvOS 9+ 或 watchOS 2+ 的项目
  • Xcode 7.3 和 Swift 2.2

安装

安装 LogKit 有几种方法。下面有一些提示,但更多详细信息请参阅 安装指南

注意:由于某种原因,CocoaPods 从他们的网站上显示的此读取文件中删除了 CocoaPods 和 Carthage 的安装说明。如果看不到这些安装选项,请访问 安装指南

嵌入式框架

支持iOS 8+,OS X 10.9+,tvOS 9+,watchOS 2+

LogKit.xcodeproj包含到你的项目中(位于项目根以下二级,作为子项目)。选择你的目标,在“通用”选项卡中将LogKit添加为嵌入式二进制文件。为你的目标选择适当的LogKit框架。确保选择框架,而不是测试。

源文件

支持iOS 7+,OS X 10.9+,tvOS 9+,watchOS 2+

要将LogKit集成到目标iOS 7的项目中,只能通过集成LogKit源文件的方式。当使用此安装方法时,请跳过import LogKit

Sources目录中的所有.swift文件添加到你的项目中。安装无需执行其他步骤。

从LogKit 1迁移

如果你以前使用过LogKit 1,那么你将熟悉LogKit 2的大部分内容。但是,许多对象已更新了名称和初始化器。请参阅变更日志和阅读迁移指南来更新你的代码以兼容LogKit 2。

使用方法

LogKit很容易入门。所有东西都附带方便的初始化器,只需要提供最少量的参数(通常是无需任何参数)并提供了合理的默认值。快速开始,然后你可以按需稍后进行定制。

使用下面的快速入门教程现在开始,然后查看使用指南了解LogKit能做什么的所有细节。

快速入门

在您的AppDelegate.swift文件顶部附近,添加以下两行:

import LogKit

let log = LXLogger()

这将导入LogKit框架并创建一个全局的Logger实例。此Logger将使用标准控制台末端以默认格式记录所有消息进行初始化。鉴于Logger实例是在全局范围内创建的,因此你应该只创建一次(在AppDelegate.swift中创建是最佳地点)。

现在你可以在项目的任何地方进行日志记录

log.info("Hello Internet!")

// 2015-06-25 07:36:01.638000 [INFO] applicationDidFinishLaunching <AppDelegate.swift:23> Hello Internet!

现在你可以进行日志记录了!您可以使用debuginfonoticewarningerrorcritical的Logger方法。

附加末端

如果你还想将日志记录到文件和控制台,并且你想要文件只接收notice级别以上的日志条目,你可以在设置你的Logger时这样操作:

import LogKit

let log = LXLogger(endpoints: [

    LXConsoleEndpoint(),

    LXFileEndpoint(
        fileURL: NSURL(string: /* Path to your log file */),
        minimumPriorityLevel: .Notice
    ),

])

你可以添加和配置任何数量的末端,例如包含的文件和HTTP服务末端。你也可以完全自定义写入每个末端的日志条目的格式。

格式化

每个末端都有一个名为dateFormatter的属性,它控制日志条目的dateTime属性将如何格式化。它接受一个LXDateFormatter实例,通常在初始化时设置。

let log = LXLogger(endpoints: [

    LXConsoleEndpoint(
        dateFormatter = LXDateFormatter(formatString: "HH:mm:ss.SSS")
    ),

])

每个末端还有一个名为entryFormatter的属性,它控制日志条目将被转换成字符串以进行输出。它接受一个LXEntryFormatter实例,通常也在初始化时设置。

let log = LXLogger(endpoints: [

    LXConsoleEndpoint(
        entryFormatter = LXEntryFormatter({ entry in
            return "\(entry.dateTime) [\(entry.level.uppercaseString)] \(entry.message)"
        })
    ),

])

有关更多详细信息,请参阅日志条目格式化文档,包括可用的日志条目属性和LXEntryFormatter

贡献

LogKit 欢迎贡献!请参阅 CONTRIBUTING.md 获取更多信息。

许可协议

LogKit 基于宽松的 ISC 许可协议