Метод 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}"