在调试时将事件打印到终端并将日志级别附加到 Firebase 分析事件?

问题描述 投票:0回答:1

我正在使用 React Native Firebase,我希望通过分析包完成两件事。

  1. 对于我添加到代码库中的每个事件调用,在调试时也会自动打印到终端,这与
    console.log()
    调用的方式非常相似。
  2. 我想为每个事件附加一个日志级别(日志、调试、警告、错误)。

基本上我希望它的行为更像一个记录器。这可能吗?我怎样才能实现类似的目标?

firebase firebase-analytics react-native-firebase
1个回答
0
投票

有两条主要途径可以做到这一点。

首先,您可以为 Firebase SDK 设置调试标志。这将导致它开始将很多东西记录到控制台中,包括事件。然而,这样的话它们的可读性就不是很好。当 SDK 处于调试模式时,它开始记录的不仅仅是正在发送的事件,因为其中发生了很多事情。例如,它将开始记录状态更改以及它有能力侦听的所有内部应用程序事件。

在这里,深入探讨一下:Firebase iOS 调试控制台未记录任何内容

但是,我更喜欢进行自定义日志记录。我更倾向于分析部门,所以我喜欢依靠自定义日志记录来更有效地测试本机应用程序(也包括 React Native)分析,并在出现任何问题时与本机开发人员交谈。

自定义日志记录非常容易完成。通过包装对分析 SDK 的所有调用,无论是 Firebase、Adobe Analytics、Mixpanel、Log Rocket 还是您能想到的。包装 SDK 是一种正常的开发实践,因为这样您就可以有效地扩展 SDK 的功能。

我更喜欢分析部门完全掌控包装器及其维护。这允许分析进行一定程度的控制,不仅可以通过在本地控制台中记录事件,还可以强制执行某些标准,例如小写所有内容、检查类型并抛出错误或执行某些操作 如果不符合预期,则在产品中进行数据调试,以及用于分析的某些 QA 自动化集成。

我通常将 Unicode 红心添加到日志中,以使它们在控制台中更明显,将常规事件设为蓝色,将综合浏览量设为绿色,然后添加允许快速过滤的关键字(我通常将“Firelytics”用于 firebase),然后我通常记录屏幕名称或事件的事件名称,最后记录整个有效负载,但默认情况下它在控制台中折叠。显然,Android Studio 和 Xcode 的实现会有所不同,因为它们的控制台工作方式不同,但我们的想法是使它们尽可能相似。 所以初始日志看起来像这样:

💚💚💚 Firelytics: "winter tires cross-sell splash screen" screenView sent!

然后事件的有效负载以及单独日志中的所有属性。我发现不同的日志库对待日志对象的方式不同,但通常你可以让它记录折叠的对象,以避免过多污染控制台。

© www.soinside.com 2019 - 2024. All rights reserved.