我想查看Cloud Firestores日志,就像可以看到Firebase的Cloud Functions一样。 Firebase控制台的“功能”选项卡中有一个“日志”选项卡。同样,我想在Cloud Firestore中看到这一点。怎么样?
答案 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规则来拒绝对表的任何读/写(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