如何查看Cloud Firestore日志?

时间:2018-07-30 07:25:21

标签: firebase google-cloud-firestore

我想查看Cloud Firestores日志,就像可以看到Firebase的Cloud Functions一样。 Firebase控制台的“功能”选项卡中有一个“日志”选项卡。同样,我想在Cloud Firestore中看到这一点。怎么样?

3 个答案:

答案 0 :(得分:0)

当前没有向开发人员公开的Cloud Firestore日志条目,因此暂时建议您分别记录您大概有关的任何统计信息。

答案 1 :(得分:0)

我编写了一个Firebase云函数,用于将所有活动记录到Firestore:

/**
 * Logs all database activity
 *
 * @type {CloudFunction<Change<DocumentSnapshot>>}
 */
exports.dbLogger = functions.firestore
  .document('{collection}/{id}')
  .onWrite(async (change, context) => {
    const {collection, id} = context.params;
    if (collection !== 'firestore_log') {
      const event = context.eventType;
      const data = change.after.data();
      const created_at = Date.now();
      admin.firestore().collection('firestore_log').add({collection, id, event, data, created_at});
    }
  });

这是已记录数据的示例:

firestore_log entry

请注意,这是一个仅记录所有内容的快速开发者版本;在生产中,我们有Firestore规则来拒绝对表的任何读/写(firebase函数的管理员仍然可以访问它们):

// firestore.rules
match /firestore_log/{entryId} {
    allow read: if false;
    allow write: if false;
}

并过滤记录的集合,以避免持久保存敏感数据。

请注意,如果您希望将其保留在日志中而不是Firestore中,则可以使用console.log({....})。我更喜欢Firestore,因为它旨在处理更大的数据集。

答案 2 :(得分:0)

这不是最佳选择,但是由于似乎没有什么更好的选择,您可以在终端的项目文件夹中运行以下命令:

gcloud functions logs read