我有一个部署在Microsoft Azure上的.Net Core 2.0 Web服务。在我的应用程序中,我使用Azure Web App Diagnostics将日志存储在Blob存储中。
日志文件按小时分割。目前,blob文件路径类似于{year} / {month} / {date} / {hour} / {filename}。每小时都有一个新文件夹。
我想更改此存储路径并将每日日志存储在一个文件中。我正在使用 LoggerFactory 进行日志记录。我在 Startup.cs
中的配置方法中添加了 AzureWebAppDiagnosticsloggerFactory.AddAzureWebAppDiagnostics(
new AzureAppServicesDiagnosticsSettings
{
OutputTemplate = "{Timestamp:yyyy-MM-dd HH:mm:ss zzz} [{Level}] {RequestId}-{SourceContext}: {Message}{NewLine}{Exception}"
}
);
据我所知,还有其他的记录方式,例如使用NLog或SeriLog,但是有没有开箱即用的方法来做我上面提到的呢?
答案 0 :(得分: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存储。