我创建了nodejs web API。 作为天蓝色应用程序服务托管。 记录错误/信息/调试/警告的最佳方法是什么?
答案 0 :(得分:1)
在您使用Azure时,我建议使用Application Insights:
https://docs.microsoft.com/en-us/azure/application-insights/app-insights-nodejs
答案 1 :(得分:1)
我们将Azure Log Analytics与一些自定义node-winston中间件一起使用,该中间件将异步请求发送到ALA REST服务。但是,从我们的节点Web App发送的事件与ALA仪表板中出现的事件之间存在一点滞后,因此虽然它有利于监控生产环境,但它不适合快速调试或测试。
如果您只是写入console.log,那么所有内容都会存储在您可以通过Kudu控制台访问的日志文件中。 Kudu还能够像控制天蓝色的命令行界面一样对控制台进行实时尾部操作。因此我们正在调试这些并将ALA用于未来。
一旦我们弄清楚正在编写的日志的模式(即文件名/大小/时间/等),我们将删除预定的Azure功能,以便将这些日志定期存档到冷blo存储中。
我还要补充一点,根据XI中的Twelve Factor App,他们建议将日志写入stdout,这就是console.log的作用。我总是把这些自以为是的框架/方法作为指导而不是严格的规则,但这些似乎都基于现实,至少会在你的团队中产生一些有趣的讨论。