Azure 诊断日志大小限制

Azure Diagnostic Logs Size Limitation

我是 运行 Azure 中的一个 Node.js 应用程序。现有的 Azure Web 应用程序日志记录功能将应用程序日志限制为最大大小,这意味着我无法检索一天前的日志(例如)。我可以从 Resource Explorer 修改一些 config/log 设置。

例如我可以编辑以下属性:

... 
"httpLogs": {
  "fileSystem": {
    "retentionInMb": 35,
    "retentionInDays": null,
    "enabled": true
  },
  "azureBlobStorage": {
    "sasUrl": null,
    "retentionInDays": null,
    "enabled": false
  }
},
...

我没有看到 'applicationLogs' 的任何 'retentionInDays' 或 'retentionInMb' 属性。

"applicationLogs": {
  "fileSystem": {
    "level": "Off"
  },

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

我建议将 STDOUT 和 STDERR 重定向到一个文件,这样您就不会依赖于 Microsoft 为您捕获和保存它们:

var access = fs.createWriteStream('./api.access.log'); process.stdout.write = process.stderr.write = access.write.bind(access);

事实证明,Azure 将 Web 服务器和应用程序日志记录限制为 12 小时,但这不适用于 Node.js 日志。日志文件总数有默认限制,设置为 10。

可以更改以下配置以适应您想要的任何内容,但由于性能受到影响,请注意不要在生产中这样做:

loggingEnabled: true maxLogFileSizeInKB: 128 maxTotalLogFileSizeInKB: 1024 maxLogFiles: 20