SwiftyBeaver 2.1.1

SwiftyBeaver 2.1.1

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后一次发布2024年5月
SPM支持 SPM

Sebastian Kreutzberger 维护。




  • Sebastian Kreutzberger

多彩的,灵活的,轻量级的 Swift 3,Swift 4 & Swift 5 日志。
对开发与发布支持良好,支持控制台、文件和云服务端的 Swift。

Language Swift 2, 3, 4 & 5 CircleCI



开发时:彩色日志输出到 Xcode 控制台

了解更多关于 Swift 3,4 & 5 如何在 Xcode 8 控制台中进行彩色日志的配置。对于 Swift 2.3,请参考这个 Gist。您无需再修改 Xcode 8 来获取颜色。您甚至可以自定义日志级别词(比如将 ERROR 替换为 ATTENTION),显示的数据量以及是否使用💜的或其他字符😉


开发时:彩色日志输出到文件

了解更多关于输出至文件,这对于 Terminal.app 爱好者或希望在磁盘上存储日志的人来说是个好选择。


Google Cloud & More

您可以将日志格式完全自定义,将其转换为JSON,或创建自己的目的地。例如,我们的Google Cloud Destination是另一种自定义日志格式,它为托管在Google Cloud Platform上时自动提供强大的服务器端Swift日志功能。





安装

  • 对于Swift 4 & 5,请安装最新的SwiftyBeaver版本
  • 对于Swift 3,请安装SwiftyBeaver 1.8.4
  • 对于Swift 2,请安装SwiftyBeaver 0.7.0

Carthage

您可以使用Carthage通过将此添加到您的Cartfile来安装SwiftyBeaver

Swift 4 & 5

github "SwiftyBeaver/SwiftyBeaver"

Swift 3

github "SwiftyBeaver/SwiftyBeaver" ~> 1.8.4

Swift 2

github "SwiftyBeaver/SwiftyBeaver" ~> 0.7

Swift Package Manager

对于Swift Package Manager,请将以下包添加到您的Package.swift文件中。支持Swift 4 & 5

.package(url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git", .upToNextMajor(from: "2.0.0")),

CocoaPods

要使用CocoaPods,只需将其添加到您的Podfile中。

Swift 4 & 5

pod 'SwiftyBeaver'

Swift 3

target 'MyProject' do
  use_frameworks!

  # Pods for MyProject
  pod 'SwiftyBeaver', '~> 1.8.4'
end

Swift 2

target 'MyProject' do
  use_frameworks!

  # Pods for MyProject
  pod 'SwiftyBeaver', '~> 0.7'
end

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    # Configure Pod targets for Xcode 8 with Swift 2.3
    config.build_settings['SWIFT_VERSION'] = '2.3'
  end
end


使用方法

在您的 AppDelegate.swift 顶部添加以下代码以在整个项目中使用 SwiftyBeaver。

import SwiftyBeaver
let log = SwiftyBeaver.self

AppDelegate:didFinishLaunchingWithOptions() 的开始处添加 SwiftyBeaver 日志目标(控制台、文件等),可选项调整 日志格式,然后您可以进行以下全局日志级别调用:

// add log destinations. at least one is needed!
let console = ConsoleDestination()  // log to Xcode Console
let file = FileDestination()  // log to default swiftybeaver.log file

// use custom format and set console output to short time, log level & message
console.format = "$DHH:mm:ss$d $L $M"
// or use this for JSON output: console.format = "$J"

// add the destinations to SwiftyBeaver
log.addDestination(console)
log.addDestination(file)

// Now let’s log!
log.verbose("not so important")  // prio 1, VERBOSE in silver
log.debug("something to debug")  // prio 2, DEBUG in green
log.info("a nice information")   // prio 3, INFO in blue
log.warning("oh no, that won’t be good")  // prio 4, WARNING in yellow
log.error("ouch, an error did occur!")  // prio 5, ERROR in red

// log anything!
log.verbose(123)
log.info(-123.45678)
log.warning(Date())
log.error(["I", "like", "logs!"])
log.error(["name": "Mr Beaver", "address": "7 Beaver Lodge"])

// optionally add context to a log message
console.format = "$L: $M $X"
log.debug("age", context: 123)  // "DEBUG: age 123"
log.info("my data", context: [1, "a", 2]) // "INFO: my data [1, \"a\", 2]"


服务器端 Swift

我们❤️支持服务器端 Swift 4 & 5 和 SwiftyBeaver 直接支持!亲身体验一下,在 Ubuntu Docker 容器中运行 SwiftyBeaver。只需安装 Docker,然后在 macOS 或 Ubuntu 上的项目文件夹中键入

# create docker image, build SwiftyBeaver and run unit tests
docker run --rm -it -v $PWD:/app swiftybeaver /bin/bash -c "cd /app ; swift build ; swift test"

# optionally log into container to run Swift CLI and do more stuff
docker run --rm -it --privileged=true -v $PWD:/app swiftybeaver

最佳:对于流行的服务器端 Swift 网络框架 Vapor,您可以使用我们提供的 Vapor 日志提供程序,使服务器日志再次变得精彩🙌



文档

入门指南

日志目标

高级主题



许可证

SwiftyBeaver 框架是在 MIT 许可证下发布的。