Azure 函数 - Serilog.Enrichers.ClientInfo 不记录任何内容?

问题描述 投票:0回答:1

我正在尝试在 Azure 函数(在 .NET 8 上运行)中向我的 serilog 添加丰富器,但它没有使用

HttpContext

记录任何内容

我使用自定义丰富器进行了测试,并向其注入了

HttpContextAccessor
- 结果在日志记录上下文中
HttpContext
为空。

我错过了什么?

builder.Services.AddHttpContextAccessor(); 
    
    var sinkOptions = new MSSqlServerSinkOptions
     {
         TableName = "Logs",
         AutoCreateSqlTable = true,
         BatchPostingLimit = 10
     };

    Log.Logger = new LoggerConfiguration()
        .Enrich.FromLogContext()
        .Enrich.WithRequestHeader("X-Platform", "XPlatform")
        .Enrich.WithRequestHeader("X-App-Version")
        .Enrich.WithClientIp()
        .WriteTo.MSSqlServer(
            connectionString: xxx
            columnOptions: new ColumnOptions(),
            sinkOptions: sinkOptions,
            restrictedToMinimumLevel: LogEventLevel.Warning
        )
        .CreateLogger();
    builder.Services.AddLogging(lb =>
    {
        lb.AddSerilog(Log.Logger, true);
    });
c# azure-functions serilog serilog-enricher
1个回答
0
投票

使用 HttpContext 的丰富器在使用 dotnet-isolated 模式时将不起作用。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.