Для настройки микросервисов (K8s) мы использовали следующие настройки Serilog в файле Appsettings.json: < /p>
{
"Serilog": {
"Using": [ "Serilog.Sinks.Console" ],
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Information",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"Enrich": [ "FromLogContext", "WithElasticApmCorrelationInfo" ],
"WriteTo": [
{
"Name": "Console",
"Args": {
"formatter": "Serilog.Formatting.Elasticsearch.ElasticsearchJsonFormatter, Serilog.Formatting.Elasticsearch"
}
}
]
}
< /code>
используется форматирование, специально предназначенное для нашего экземпляра Elasticsearch и действительно трудно интерпретировать при запуске локально. это: < /p>
{
"Name": "Console",
"Args": {
"formatter": "Serilog.Sinks.SystemConsole.Output.OutputTemplateRenderer, Serilog.Sinks.Console"
}
}
< /code>
afaik Это форматер по умолчанию. Но когда я пытаюсь запустить это, я получаю исключение: < /p>
A default constructor was not found on Serilog.Sinks.SystemConsole.Output.OutputTemplateRenderer.
at Serilog.Settings.Configuration.StringArgumentValue.ConvertTo(Type toType, ResolutionContext resolutionContext)
at Serilog.Settings.Configuration.ConfigurationReader.c__DisplayClass21_2.b__3(f__AnonymousType9`2 h__TransparentIdentifier0)
at System.Linq.Utilities.c__DisplayClass2_0`3.b__0(TSource x)
at System.Linq.Enumerable.SelectListPartitionIterator`2.ToList()
at Serilog.Settings.Configuration.ConfigurationReader.CallConfigurationMethods(ILookup`2 methods, IReadOnlyCollection`1 configurationMethods, Object receiver)
at Serilog.Settings.Configuration.ConfigurationReader.Configure(LoggerConfiguration loggerConfiguration)
at Serilog.Configuration.LoggerSettingsConfiguration.Settings(ILoggerSettings settings)
Подробнее здесь: https://stackoverflow.com/questions/746 ... xplicitely