TracingActivity

build tests language license

platform Twitter

Ethereum Litecoin

TracingActivity 为纯 Swift 应用程序提供 Apple 的 Activity Tracing 功能,作为统一日志记录的一部分。创建 tracing activity 可能会失败,但所有代码块都将始终执行。返回值将告知代码是在 activity 内部(成功 = true)还是外部(在 activity 无法创建的情况下)执行的。 鼓励嵌套 activity 以实现子任务。

要求

安装

Swift Package Manager

Swift Package Manager 是一种自动化 Swift 代码分发的工具,并已集成到 swift 编译器中。

在 Xcode 的项目查看器中添加 Package URL https://github.com/matis-schotte/TracingActivity.git。将其作为依赖项添加到另一个 Package 中就像将其添加到 Package.swiftdependencies 值中一样简单。

dependencies: [
	.package(url: "https://github.com/matis-schotte/TracingActivity.git", from: "0.1.0")
]

用法

基于代码块的 activity tracing(一次)

_ = TracingActivity.initiate("Activity") {
	// ... os_log stuff
}

用于多个代码块的 Activity Tracing

let activity: TracingActivity? = TracingActivity("Activity")
_ = TracingActivity.apply(activity) {
	// ... os_log stuff
}

基于作用域的 Activity Tracing

let activity: TracingActivity? = TracingActivity("Activity2")
var scope = activity?.enter()
// ... os_log stuff
defer {
	scope?.leave()
}

待办事项

许可证

TracingActivity 在 Apache-2.0 许可证下可用。 有关更多信息,请参见 LICENSE 文件。

作者

Matis Schotte, dm26f1cab8aa26@ungeord.net

https://github.com/matis-schotte/TracingActivity