如何在 Crashlytics Swift 中打印自定义日志记录?
How to print customize logging in Crashlytics Swift?
我们已经为 fabric 和 crashlytics 安装了 pod 文件并导入到应用程序委托中。 Fabric.with([Crashlytics.self, Branch.self]) 在 didFinishLaunchingWithOptions 函数中。它工作正常。但我想打印用户可以点击哪个动作。 例如) 单击登录 按钮。
我看到我们可以调用这个函数,但是我在哪里可以调用它呢?
func write(string: String) {
CLSLogv("%@", getVaList([string]))
}
我们将无法从这次崩溃中找到代码行
如何在fabric中打印自定义原木?
崩溃时调用了哪个默认函数?
您可以通过下面的代码 .recordError(NSERROR)
记录自定义活动。但是,我不建议您将 Crashlytics 用于此类 "Button Clicked" 日志。使用一些分析工具,例如 (Google Analytics).
let customError = NSError(domain: errorDomain, code: errorCode, userInfo: [
NSLocalizedDescriptionKey: message,
])
Crashlytics.sharedInstance().recordError(customError)
您可以使用 logEvent 函数创建 CrashLogger
class,该函数将 eventName 作为 String
和 [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 自定义日志记录 docs 了解更多信息。
我们已经为 fabric 和 crashlytics 安装了 pod 文件并导入到应用程序委托中。 Fabric.with([Crashlytics.self, Branch.self]) 在 didFinishLaunchingWithOptions 函数中。它工作正常。但我想打印用户可以点击哪个动作。 例如) 单击登录 按钮。
我看到我们可以调用这个函数,但是我在哪里可以调用它呢?
func write(string: String) {
CLSLogv("%@", getVaList([string]))
}
我们将无法从这次崩溃中找到代码行
如何在fabric中打印自定义原木? 崩溃时调用了哪个默认函数?
您可以通过下面的代码 .recordError(NSERROR)
记录自定义活动。但是,我不建议您将 Crashlytics 用于此类 "Button Clicked" 日志。使用一些分析工具,例如 (Google Analytics).
let customError = NSError(domain: errorDomain, code: errorCode, userInfo: [
NSLocalizedDescriptionKey: message,
])
Crashlytics.sharedInstance().recordError(customError)
您可以使用 logEvent 函数创建 CrashLogger
class,该函数将 eventName 作为 String
和 [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 自定义日志记录 docs 了解更多信息。