如何在Firebase中编写日志?

如何在Firebase中编写日志?,firebase,flutter,firebase-realtime-database,Firebase,Flutter,Firebase Realtime Database,我的应用程序在数据库的两个地方记录食物消费,然后对库存进行折扣。审核时,两个记录都正确完成,但库存没有更新到正确的值。我想查看是否存在错误或库存如何更新的日志(我怀疑有时会打两次折扣),但我不知道如何做,因为我无法在控制台中看到打印(应用程序正在与远程用户进行Alpha测试) 是否有任何方法可以查看或注册数据库(日志)中发生的情况 我使用.push().set在Firebase中写入两条记录,并使用ServerValue.increment以这种方式更新库存 Future<bool&g

我的应用程序在数据库的两个地方记录食物消费,然后对库存进行折扣。审核时,两个记录都正确完成,但库存没有更新到正确的值。我想查看是否存在错误或库存如何更新的日志(我怀疑有时会打两次折扣),但我不知道如何做,因为我无法在控制台中看到打印(应用程序正在与远程用户进行Alpha测试)

是否有任何方法可以查看或注册数据库(日志)中发生的情况

我使用
.push().set
在Firebase中写入两条记录,并使用
ServerValue.increment
以这种方式更新库存

  Future<bool> descontarAlimento(String idEmpresa, String idAlimento, double consumo) async {

    try {
      db.child('bodega/alimento/$idAlimento/cantidad')
        .set(ServerValue.increment(-consumo.round()));
    } catch (e) {
      print(e);
    }

    return true;

  }
Future descontarAlimento(String idEmpresa、String idAlimento、double consumo)异步{
试一试{
db.child('bodega/alimento/$idAlimento/cantidad')
.set(ServerValue.increment(-consumo.round());
}捕获(e){
印刷品(e);
}
返回true;
}
我正在考虑在write as中添加一行
db.child('logs').push()
并在
后面的一行打印(e)
db.child('errors').push().set('Inventory error$e')
,但我不确定这是否是个好主意


在Firebase中查看或记录“写入操作日志”的最佳方式是什么?

Firebase实时数据库不保留用户可访问的操作日志,因为这会很快变得成本高昂

从客户端编写日志绝对是一个有效的选项,添加云函数来为您执行此复制也是一个有效的选项

如果您可以合理地重现问题,我建议您也运行,以查看是否显示任何意外操作