LogItUI 0.2.0

LogItUI 0.2.0

Jake Prickett维护。



 
依赖
SnapKit< 6, >= 5.0.1
LogIt= 0.2.0
 

LogItUI 0.2.0

  • 作者:
  • Jake Prickett


撰写者:Jake Prickett🖋


Build Status Swift 5
CocoaPods Carthage Swift Package Manager
Platform LICENSE

项目概述

自从Swift日志框架Swift Logging Framework 发布以来,我发现缺少了一个对我来说至关重要的功能:能够从应用的内部查看日志,无需手动连接设备到电脑或将设备带入。这个仓库包含两个框架:一个纯Swift日志库,以及一个用于查看存储和生成日志的配套用户界面库。

这个库受到了Apple的Swift日志框架的启发。

LogIt

LogIt 是一个 lightweight(轻量级)的日志库,用于iOS & macOS应用,用Swift编写,可以高效地将日志写入和存储在设备上。通过这种方式,它提供了一种从您的代码中访问这些日志的方法,而无需将设备连接到电脑。

LogItUI

LogItUI,是LogIt的配套库,是一个用于支持显示使用LogIt录制的日志的iOS应用的库。(注意:macOS UI支持是功能路线图的一部分)如果这并不完全满足您的需求,LogIt还提供了围绕日志构建您自己UI的能力,以实现更定制化的用例。

基本用法

LogIt

配置

使用LogIt的第一步是正确配置日志记录器。这个值告诉库存储日志文件的路径,这是一个必需的步骤。

注意:通常在AppDelegate或SceneDelegate中完成此操作是最好的。

// Custom specified identifier
LogIt.configure(with: .custom('custom.log.identifier'))

// Pulls the bundleId if available
LogIt.configure(with: .bundleId)

// Default value: "LogIt.log"
LogIt.configure(with: .default)

如果需要,可以使用LogIt.logFileURL访问此文件路径。

为了正确记录日志,框架必须使用以下方法显式启用

// Enables logging
LogIt.enableLogging()

// Disables logging
LogIt.disableLogging()
日志级别

以下日志级别得到支持

日志级别
错误 .error
警告 .warning
信息 .info

如果您只想记录高于某个级别的消息

// Will only display logs that are more severe or equal to `.warning`
// (All `.warning` logs and `.error` logs currently.)
LogIt.setLogLevel(.warning)

这可能在某些情况下很有用,例如App Store发布,这可能不利于有强大的信息性日志。

记录日志

现在是有趣的记录日志部分。每个日志级别都有一个相关方法。这个方法接受一个字符串。

LogIt.info("Informational Log!")

LogIt.warning("Warning Log!")

LogIt.error("Error Log!")

是的,就这么简单!

检索日志

可以通过调用 LogIt.getLogs() 方法来检索日志。如果在获取过程中发生错误,此方法将抛出描述性错误,以便进行错误处理。

如果数据损坏或文件不再存储在磁盘上,它还会清除日志文件。

清除日志

可以通过调用 LogIt.clearLogs() 方法来清除日志。如果在清除过程中发生错误,此方法将抛出描述性错误。

LogItUI

LogItUI 的主要组件是 LogItViewController。负责检索、显示和过滤日志。

查看演示
@objc
private func viewLogs() {
  let vc = LogItViewController()
  navigationController?.present(vc, animated: true, completion: nil)
}

安装

请参考以下说明来安装 LogIt 和 LogItUI。

要求

  • iOS 12.0+
  • macOS 10.12+
  • Swift 5.0+

CocoaPods

要安装它,只需将以下行添加到您的 Podfile

# To consume LogIt
pod 'LogIt'
# To consume LogItUI
pod 'LogItUI'

Carthage

要安装它,只需将以下行添加到您的 Cartfile 中

github "Jake-Prickett/LogIt"

Swift Package Manager

要安装它,只需将包作为依赖项添加到

Package.swift:

dependencies: [
  .package(url: "https://github.com/Jake-Prickett/LogIt.git", from: "X.Y.Z"),
]

特性路线图

  • 完成界面/配置步骤
  • 内置可定制选项的 LogItViewController
  • 添加通过指定标识符配置日志文件的能力(在单个设备上处理多个日志记录器)
  • 通过 LogItViewController 导出日志(最初通过电子邮件)
  • 支持 LogItViewController 的深色模式
  • 拆分为 LogItLogItUI 框架(除非用户想要使用,否则不需要同时使用)
  • 为 PR 添加 CI 运行
  • 添加 SwiftPM & CocoaPod 支持
  • 单元测试覆盖率
  • 文档(徽章、完成描述、功能、基本用法、依赖支持)
  • 代码文档
  • 设置所需的最小日志级别
  • 在 VC 中的行上设置备用背景颜色
  • 引入线程安全的读取/写入
  • 将日志记录到可配置大小的缓冲区中,当达到限制时写入。 (与每次记录日志相比,这可能很昂贵)
  • 添加在记录日志时可以传递的元数据
  • 在选择日志时,查看特定日志的详细信息
  • 日志搜索功能
  • 高级用法:不够 View Controller 么?向用户提供原始日志文件以及如何使用的说明。

如果您发现问题或功能请求,请随时通过相应的模板打开一个问题。喜欢自己修复并想参与进来吗?请这么做!