Код: Выделить всё
.UseSerilog((context, services, loggerConfiguration) =>
{
loggerConfiguration
.ReadFrom.Configuration(context.Configuration)
.WriteTo.ApplicationInsights(
services.GetRequiredService(),
TelemetryConverter.Traces);
//.WriteTo.Async(c => c.OpenTelemetry());
});
Autofac.Core.Registration.ComponentNotRegisteredException: 'Запрошенная служба 'Microsoft.ApplicationInsights .Extensibility.TelemetryConfiguration' не зарегистрирован
Покопавшись еще немного, ошибка вызвана Проекты ServceDefaults и, в частности:
Код: Выделить всё
builder.Services.ConfigureHttpClientDefaults(http =>
{
http.AddStandardResilienceHandler();
}
ОБНОВЛЕНИЕ
Я нашел обходной путь. Если я это сделаю, это сработает
Код: Выделить всё
.WriteTo.ApplicationInsights(
MakeTelemetryConfiguration(builder),
TelemetryConverter.Traces);
private static TelemetryConfiguration MakeTelemetryConfiguration(WebApplicationBuilder builder)
{
var disableAppInsightsTelemetry = string.IsNullOrEmpty(builder.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"]);
if (disableAppInsightsTelemetry)
{
return new TelemetryConfiguration
{
DisableTelemetry = true,
};
}
return new TelemetryConfiguration
{
InstrumentationKey = builder.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"],
};
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... ponentnotr
Мобильная версия