Почему-то мне очень трудно понять, что происходит с конфигурацией Serilog. У меня есть веб-API с .NET Core 2.1 и установленным serilog.sink.logstash
. Мой стартап имеет:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
var serverURL = Configuration.GetSection("Logging")["logstashServer"];
var logger = new LoggerConfiguration()
.Enrich.FromLogContext()
.Enrich.WithProperty("Enviroment", env.EnvironmentName)
.Enrich.WithProperty("ApplicationName", "MyApp")
.WriteTo.LogstashHttp(serverURL);
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
logger.WriteTo.Console();
}
loggerFactory.AddSerilog();
Log.Logger = logger.CreateLogger();
app.UseCors("CorsPolicy");
app.UseMvc();
}
В моих appsettings есть раздел:
"Logging": {
"logstashServer": "http://192.168.0.6:8101",
"IncludeScopes": false,
"Serilog": {
"MinimumLevel": {
"Default": "Error",
"Override": {
"Microsoft": "Error",
"Microsoft.AspNetCore.Hosting": "Error",
"Microsoft.AspNetCore.Mvc": "Error",
"System": "Error"
}
}
}
}
Независимо от того, что я делаю, я вижу и в консоли, и в logstash, что регистрируется много нежелательной информации, например:
[14:27:54 INF] Выполненный метод действия MyApp.Controllers.LoggerController.Post(MyApp), вернул результат Microsoft.AspNetCore.Mvc.OkResult в 0,0771 мс.
MyApp> [14:27:54 INF] Выполнение HttpStatusCodeResult, установка кода состояния HTTP 200
MyApp> [14:27:54 INF] Выполненное действие MyApp.Controllers.LoggerController.Post(MyApp) в 2.0855ms
и так далее. Почему я вижу их, так как у меня минимальная ошибка уровня?