当前,我正在直接使用azure应用程序见解进行日志记录,如该链接中所述Use latest version of Application Insight with .net core API并且一切正常。
但是我需要借助azure应用程序洞察力现在使用serilog进行日志记录。甚至我也进行了有关serilog(https://github.com/serilog/serilog-sinks-applicationinsights)的研发。但是没有任何想法。您能否建议我,如何使用.Net core 3.0来实现?
请按照以下步骤操作:
首先,停顿以下软件包:
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
在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)
);
}
在controller.cs中>:
测试结果
: