【问题标题】:How to modify Blob storage path for Azure Web App Diagnostics logs如何修改 Azure Web 应用诊断日志的 Blob 存储路径
【发布时间】:2018-02-06 21:33:23
【问题描述】:

我有一个部署在 Microsoft Azure 上的 .Net Core 2.0 Web 服务。在我的应用程序中,我使用 Azure Web App Diagnostics 将日志存储在 Blob 存储中。

日志文件按小时拆分。目前,blob 文件路径类似于 {year}/{month}/{date}/{hour}/{filename}。每小时都有一个新文件夹。

我想更改此存储路径并将每日日志存储在一个文件中。我正在使用 LoggerFactory 进行日志记录。我在 Startup.cs

Configure 方法中添加了 AzureWebAppDiagnostics
loggerFactory.AddAzureWebAppDiagnostics(
            new AzureAppServicesDiagnosticsSettings
            {
                OutputTemplate = "{Timestamp:yyyy-MM-dd HH:mm:ss zzz} [{Level}] {RequestId}-{SourceContext}: {Message}{NewLine}{Exception}"
            }
            );

我知道还有其他的日志记录方式,例如使用 NLog 或 SeriLog,但是是否有任何开箱即用的方式来执行我上面提到的操作?

【问题讨论】:

    标签: c# .net azure-storage azure-blob-storage azure-diagnostics


    【解决方案1】:

    当前 blob 文件路径类似于 {year}/{month}/{date}/{hour}/{filename}。每小时都有一个新文件夹。我想更改此存储路径,并将每日日志存储在一个文件中。

    查了class AzureAppServicesDiagnosticsSettings,发现它只允许我们指定日志blob名称的最后一段,它不能让我们指定blob的全名。

    //
    // Summary:
    //     Gets or sets the last section of log blob name. Defaults to "applicationLog.txt".
    public string BlobName { get; set; }
    

    您可以open an issue 并跟踪状态。此外,正如您所提到的,您可以集成 NLog 等将日志写入 Azure Storage。

    【讨论】:

      猜你喜欢
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-26
      • 1970-01-01
      • 2017-03-03
      • 2021-04-23
      • 2021-12-24
      相关资源
      最近更新 更多