ASP.NET Core 2.1 Web.API изменяет ключ инструментария приложений для ведения журнала

Я хотел бы включить ведение журнала в App Insights из WebApi (с пользовательским регистратором). Все работает хорошо, но мне нужно предоставить instrumentation keyв appsetting.jsonс принудительной конвенцией:

"Values": {
   "AppInsightsKey":  "I want to put key here" 
},
"ApplicationInsights": {
   "InstrumentationKey": "Now I must put key here"
}

Однако я не могу переопределить эту вторую настройку непосредственно из настроек Azure: введите описание изображения здесь

Есть ли способ правильно настроить его?

Фактически в моем Startup.csя настраиваю logger:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    loggerFactory.AddApplicationInsights(app.ApplicationServices, LogLevel.Trace);
}

Моя обертка для журнала:

using Microsoft.Extensions.Logging;
...
public class MyCustomLogger : IMyCustomLogger
{
    private readonly ILogger _logger;

    public MyCustomLogger(ILogger<MyCustomLogger> logger)
    {
        _logger = logger;
    }
    public void LogInformation(string message, params object[] args)
    {
        _logger.LogInformation(message, args);
    }
}

PS. Если я могу переопределить ApplicationInsights.InstrumentationKeyAzure, это тоже будет правильным решением.

c#,azure,asp.net-core-webapi,azure-application-insights,asp.net-core-2.1,

0

Ответов: 3


1 принят

Однако я не могу переопределить эту вторую настройку непосредственно из настроек Azure:

Пожалуйста, добавьте приложение со следующим форматом ApplicationInsights: InstrumentationKey как клавиша appsetting в настройке приложения Azure. Для получения дополнительной информации см. Этот учебник .

введите описание изображения здесь


1

Установите ключ инструментария в ОКРУЖАЮЩУЮ СРЕДУ Переменная «APPINSIGHTS_INSTRUMENTATIONKEY». Он должен подхватить SDK Application Insights.


0

В вашем Program.cs, где вы добавляете Insights в WebHostBuilder, вместо этого .UseApplicationInsights()вы можете делать .UseApplicationInsights("YourKeyHere").

C #, лазурный, asp.net-ядро-WebAPI, лазурная-приложения-идея, asp.net-ядро-2,1,
Похожие вопросы