我的Firebase项目中有一个观察程序,每当我更改代码时,它会自动编译并重新启动模拟器。这很好,只是我认为由于某些竞争条件,每次保存代码时都会得到一个新的firestore-debug.log
或asidfhusudf.log
文件。如何禁用日志文件或至少更改日志文件的制作位置?
firestore-debug.log与firebase.json位于同一文件夹中。您可以在运行命令的目录中看到它,该目录将记录所有请求。
您正在为函数使用typescript,因此可以参考有关函数日志如何为typescript项目工作的文档:
在firebase部署期间,项目的
index.ts
被转换为index.js
,这意味着云函数日志将输出index.js文件中的行号,而不是您编写的代码。为了更容易地在index.ts中找到相应的路径和行号,firebasedeploy创建functions/lib/index.js.map
。您可以在首选IDE中或通过节点模块使用此源映射。
文档:中提到了调试输出如何存储在firestore-debug.log中
一个基本的调试函数,用于在安全规则引擎对安全规则语言对象、变量和语句结果进行评估时打印这些结果。调试的输出被写入
firestore-debug.log
。调试函数只能在规则条件内调用。调试函数块只能由Firestore模拟器中的安全规则引擎执行,Firestore模拟器是Firebase emulator Suite的一部分。调试功能在生产中没有影响。调试日志文件条目前面有一个字符串,用于标识日志输出的规则语言数据类型(例如,string_value、map_value(。对调试的调用可以嵌套。目前,调试功能不支持日志级别(for example, INFO, WARN, ERROR)
的概念。
您还可以参考stackoverflow案例,Kiana和Daniel简要解释了超过1个月的日志是如何自动禁用的。
您可以直接在Firebase控制台中看到它。当尝试为日志选择时间戳时,超过1个月的日志将被禁用,这意味着自动删除。
您可以参考文档来了解如何使用查询语言在Emulator套件UI中筛选日志。
目前,由于位置是硬编码的,因此无法更改位置:https://github.com/firebase/firebase-tools/blob/c0f7acc80e8c4c2d174f97c5c41d6114e192fd23/src/emulator/downloadableEmulators.ts#L205