在生产 React Native Expo 应用程序中记录到设备

Nyx*_*nyx 7 reactjs react-native redux expo redux-persist

问题:我们如何记录消息并将其保存在生产 React Native Expo 应用程序的设备上?

要求

  • 将日志文件存储在移动设备上
  • (理想情况下)日志轮换、压缩和/或修剪
  • 日志文件可以按需发送到远程服务器(即用户单击按钮)

不适合的候选人

  • Expo 支持Sentry,但它用于崩溃报告。
  • Expo 支持AmplitudeSegment,但它们更多用于分析。

Sentry、Amplitude 和 Segment 不适合,因为我们更多的是寻找一种按需记录日志并将日志转储到远程服务器的实现。我们也可以创建自己的 Node.js 服务器来接受传入的日志转储,因此不需要托管服务。

我们的应用程序当前使用redux-persist,想知道是否有一个解决方案(包括第 3 方库)用于登录到与 React Native Expo 应用程序兼容的持久 redux 存储?

Wah*_*ter 2

如果您想自己做所有事情而不使用第三方库。我建议您这样做。创建一个函数 logMessage(message) 该函数会将消息写入异步存储,并以当前日期为键。如果该特定日期已记录任何消息,这将附加该消息。你可以在任何你想记录的地方调用这个函数。要将日志发送到远程服务器,您可以决定是否要发送当前日期或多个日期或所有日志。您可能还想编写清除所有日志的函数。因此,react-native 的 AsyncStorage 可以为您完成这项工作。