Azure诊断日志大小限制

时间:2017-03-03 20:33:12

标签: node.js azure logging azure-diagnostics

我在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"
  },

是否可以增加应用程序日志的存储时间或大小限制?

2 个答案:

答案 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