如何将 .NET 控制台日志从 Azure 应用服务获取到 Azure 事件中心?

How can I get .NET Console Logs from Azure App Service to Azure Event Hub?

我有一个 .NET 6 项目使用 Serilog 将应用程序日志写入控制台。该应用托管在 Windows 应用服务上。

设置如下:

builder.Host.UseSerilog((ctx, lc) => lc
        .Enrich.FromLogC1ontext()
        .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}", theme: AnsiConsoleTheme.Literate);

我在应用服务上设置了诊断设置以将日志从控制台输出发送到事件中心,但没有控制台日志发送到事件中心。

我也试过启用 HttpLogs,效果很好。所以触发器正在工作,但如何让 stdout/Console 日志工作?

可能是因为 .net windows 应用程序不支持 AppServiceConsoleLogs。仅支持 JavaSE 和 Tomcat.