3
votes

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

1
What is the problem? You've linked to the Serilog application insights sink which is exactly what you need to add to your project. I speak from experience when I say it workspinkfloydx33
@pinkfloydx33 How can I linked?Bunty Choudhary

1 Answers

9
votes

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{ InstrumentationKey = "xxxxxxxxx" },TelemetryConverter.Traces)
             );                
}

In controller.cs:

enter image description here

The test result:

enter image description here