我的团队有多个运行 Node.js 应用程序的 Azure WebApps(Windows)。我们使用 Winston库来记录服务活动(例如,请求)。我们已在每个中配置了诊断日志记录,以将日志存储在Blob存储资源中。
使用 Microsoft Azure存储资源管理器,我们可以看到Blob存储中有多个容器。它似乎按小时收集信息,但只有'快照'条目作为CSV文件和.log文件几乎没有信息。文件很小,但不应该是这种情况,因为流量是一致的,我们记录了相当数量。
我们的日志记录以文件系统格式工作,但它显然无法在blob存储中运行。我们似乎无法找到我们的日志未存储在存储帐户中的原因。
是否需要其他配置?
答案 0 :(得分:3)
根据您的说明,我检查了您的问题,发现我只能从KUDU路径console.log
通过console.error
和D:\home\LogFiles\Application\
进行记录。然后我在azure web app上找到了关于node.js的应用程序日志的blog,如下所示:
在Azure门户中设置应用程序日志
对于node.js网站,编写应用程序日志的方法是使用console.log('message')和console.error('message')写入控制台,然后转到信息/错误级别日志条目。目前,node.js日志文件唯一受支持的目标是文件系统。
应用程序日志功能不支持php和python等其他网站类型。
这是用于流行的nodejs记录器的Azure blob存储适配器,例如winston:winston-azure-blob-transport,您可以利用它来解决方法,将您的node.js网站上的应用程序日志收集到azure blob存储中。