как настроить 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