我在Azure中运行Node.js应用程序。现有的Azure Web应用程序日志记录功能将应用程序日志限制为最大大小,这意味着我无法从一天前检索日志(例如)。我可以从资源管理器中修改一些配置/日志设置。
例如,我可以编辑以下属性:
...
"httpLogs": {
"fileSystem": {
"retentionInMb": 35,
"retentionInDays": null,
"enabled": true
},
"azureBlobStorage": {
"sasUrl": null,
"retentionInDays": null,
"enabled": false
}
},
...
我没有看到'applicationLogs'的'retentionInDays'或'retentionInMb'属性。
"applicationLogs": {
"fileSystem": {
"level": "Off"
},
是否可以增加应用程序日志的存储时间或大小限制?
答案 0 :(得分:0)
我建议将STDOUT和STDERR重定向到一个文件,然后您不会依赖于microsoft来捕获并保存它们:
var access = fs.createWriteStream('./api.access.log');
process.stdout.write = process.stderr.write = access.write.bind(access);
答案 1 :(得分:0)
事实证明,Azure将Web服务器和应用程序日志记录限制为12小时,但这不适用于Node.js日志。日志文件总数有一个默认限制,设置为10。
可以更改以下配置以适应您想要的任何内容,但是由于性能受到影响而被警告不要在生产中执行此操作:
loggingEnabled: true
maxLogFileSizeInKB: 128
maxTotalLogFileSizeInKB: 1024
maxLogFiles: 20