ios - 如何在 Crashlytics Swift 中打印自定义日志记录?
问题描述
我们已经安装了 fabric 和 crashlytics 的 pod 文件,并在应用程序委托中导入。Fabric.with([Crashlytics.self, Branch.self])在didFinishLaunchingWithOptions函数中。它工作正常。但我想打印用户可以点击哪个操作。例如)单击登录按钮。
我看到我们可以调用这个函数,但是我在哪里可以调用它呢?
func write(string: String) {
CLSLogv("%@", getVaList([string]))
}
我们将无法从这次崩溃中找到代码行
如何在织物上打印自定义日志?崩溃时调用哪个默认函数?
解决方案
您可以CrashLogger
使用 logEvent 函数创建类,该函数将 eventNameString
和数据字典作为[String: CustomStringConvertible]
格式,以将任何相关信息传递给 Crashlytics
import Crashlytics
final class CrashLogger {
static let shared = CrashLogger()
private init() { }
func logEvent(_ event: String, withData data: [String: CustomStringConvertible]) {
let dataString = data.reduce("Event: \(event): ", { (result, element: (key: String, value: CustomStringConvertible)) -> String in
return result + " (" + element.key + ": " + String(describing: element.value) + " )"
})
logEvent(dataString)
}
private func logEvent(_ message: String) {
CLSLogv("%@", getVaList([message]))
}
}
现在,只要您想在 Crashlytics 中记录自定义事件,您就可以调用此logEvent
方法,并且当您在 Firebase 中查看任何崩溃时,它会在日志部分中可用。
如何使用:例如addToCart
电子商务应用程序中的功能:
func addToCard(_ product: Product) {
CrashLogger.logEvent("addToCart", withData: ["productId": product.id, "productName": product.name)
//do further processing like update cart item count etc.
}
有关更多信息,请参阅 Crashlytics 自定义日志记录文档。
推荐阅读
- python-3.x - python函数传递布尔运算符并使用泰坦尼克数据集预测生存平均值
- instagram - 我如何使用instapy bot的like_by_feed?
- javascript - 在不同平台(Termux 和 Windows)中运行相同脚本的问题
- django - 执行 git pull 后,如何让我的 pythonanywhere 在我的网页上进行更改?
- python - 通过循环创建空集的字典,然后使用另一个循环填充这些集 - 更有效的方法?(Python)
- html - 删除 html 元素之间的空格
- github - 如何重置 Git LFS 存储?
- node.js - 管理员如何。消息传递。AndroidNotification 需要配置本地化?
- javascript - 如何 Blazor 互操作从模块类型的 js 脚本(TS 生成)调用函数
- c++ - 可以采用整数或浮点数或双精度数或任何其他可转换为浮点数的 C++ 函数