как настроить serilog и applicationinsights в App.config?

Я пытался сделать это, чтобы настроить serilog для записи в аналитические данные приложения. он находится в файле app.config. Но это не работает. Есть ли альтернативный подход

      <add key="serilog:minimum-level" value="Error"/>
<add key="serilog:using:ApplicationInsights" value="Serilog.Sinks.ApplicationInsights" />
<add key="serilog:write-to:ApplicationInsights" value="fxxx104-dd93-xxxx-8601-xxxxxxxxxxx"/>

1 ответ

Вы должны добавить UseSerilogв Program.cs. Вы используете App.config, просто хотите, чтобы ключи считывались по коду, что-то вроде ConfigurationManager.AppSettings["key"].

      public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        })
       .UseSerilog((hostingContext, loggerConfiguration) => loggerConfiguration
           .ReadFrom.Configuration(hostingContext.Configuration)
           .WriteTo.ApplicationInsights(new TelemetryConfiguration{ InstrumentationKey = "xxxxxxxxx" },TelemetryConverter.Traces)
        );   

Тогда вы можете использовать Log.Information("log details") в yourController.cs для записи журналов.

Спасибо за душевное отношение Ивана. Для получения более подробной информации вы можете обратиться к его ответу в сообщении ниже.

Использование serilog с Azure Application Insights и .Net core

Другие вопросы по тегам