【发布时间】:2020-08-10 05:18:18
【问题描述】:
我设法在 localhost 中实现了对 Elasticsearch 的登录。然而,它记录了来自 ASP.net Core 的任何类型的活动。一个简单的程序启动记录大约 20 个条目。我怎样才能只记录我放入代码中的日志条目。需要所有严重性,因此更改最低日志级别不是解决方案。
private static void ConfigureLogging()
{
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile(
$"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json",
optional: true)
.Build();
Log.Logger = new LoggerConfiguration()
.WriteTo.Elasticsearch(ConfigureElasticSink(configuration, environment))
.ReadFrom.Configuration(configuration)
.CreateLogger();
}
private static ElasticsearchSinkOptions ConfigureElasticSink(IConfigurationRoot configuration, string environment)
{
return new ElasticsearchSinkOptions(new Uri(configuration["ElasticConfiguration:Uri"]))
{
AutoRegisterTemplate = true,
IndexFormat = $"{Assembly.GetExecutingAssembly().GetName().Name.ToLower().Replace(".", "-")}-{environment?.ToLower().Replace(".", "-")}-{DateTime.UtcNow:yyyy-MM}"
};
}
Loggly 有我需要的类似解决方案:https://github.com/neutmute/loggly-csharp
【问题讨论】:
标签: c# asp.net-core elasticsearch serilog