Метод app.UseSerilogRequestLogging() не работает

Я использую IApplicationBuilder.UseSerilogRequestLogging() для регистрации запросов. Я настроил файл как приемник. Но это не работает. Я вижу все остальные события журнала, но нет журналов событий, созданных UseSerilogRequestLogging(). Даже если я уберу этот метод из конвейера промежуточного программного обеспечения, журналы останутся прежними. Я попытался установить минимальный уровень «Microsoft.AspNetCore» в LogEventLevel.Warning, но в этом случае журналов нет.

Я установил пакеты Serilog, Serilog.AspNetCore nudget.

ниже мой код programe.cs

      var builder = WebApplication.CreateBuilder(args);

var logger = new LoggerConfiguration()
    .WriteTo.File("Logs.txt")
    .CreateLogger();
builder.Host.UseSerilog(logger);

var app = builder.Build();
app.UseSerilogRequestLogging();

и вот мой файл журнала

введите описание изображения здесь

Я пытаюсь в течение долгого времени, но не могу найти никакого решения. Кто-нибудь может помочь?

Я попытался установить минимальный уровень «Microsoft.AspNetCore» в LogEventLevel.Warning, но в этом случае журналов нет.

2 ответа

          Log.Logger = new LoggerConfiguration()
          .ReadFrom.Configuration(builder.Configuration)
          .Enrich.FromLogContext()
.CreateLogger();

builder.Host.UseSerilog();

app.UseSerilogRequestLogging();

"Serilog": {
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft.AspNetCore": "Warning",
        "System": "Warning"
      }
    },

Попробуйте включить свойства в выходной шаблон конфигурации SeriLog.

      "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception} {Properties:j}"
Другие вопросы по тегам