问题描述
我有一个现有的 asp.net Web api 项目。该项目使用 Serilog 进行日志记录。使用 OwinStartup 它像这样配置 Serilog
var logger = new LoggerConfiguration()
.ReadFrom.AppSettings()
.CreateLogger();
logger.@R_213_4045@ion("Api Startup");
AppSettings 有很多设置。
实例也是这样注册的
builder.RegisterInstance(logger).As<ILogger>().SingleInstance().PropertiesAutowired();
我有一种方法可以用应用洞察替换这个 serilog 实现,或者以某种方式一起使用它,这样所有日志都进入应用洞察中,而不是现在配置的文件系统中。
解决方法
只需使用包 Serilog.Sinks.ApplicationInsights
并将 AppInsights 添加为 Serilog 的接收器
var log = new LoggerConfiguration()
.WriteTo
.ApplicationInsights(TelemetryConfiguration.Active,TelemetryConverter.Traces)
.CreateLogger();
https://github.com/serilog/serilog-sinks-applicationinsights