Currently, I am using azure application insights directly for logging as given in this link Use latest version of Application Insight with .net core API and everything is working fine.
But I need to use the serilog for logging now with the help of azure application insight. Even I do some R&D about serilog (https://github.com/serilog/serilog-sinks-applicationinsights). But didn't get any idea. Could you please suggest me that how can we achieve that with the .Net core 3.0
Please follow the steps below:
First, in stall the following packages:
Microsoft.ApplicationInsights.AspNetCore, version 2.14.0
Serilog.AspNetCore, version 3.2.0
Serilog.Sinks.ApplicationInsights, version 3.1.0
Serilog.Settings.Configuration, version 3.1.0
In Program.cs:
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
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{ ConnectionString = "xxxxxxxxx" },TelemetryConverter.Traces)
);
}
In controller.cs:
The test result: