Serilog配置和Application Insight .net核心

时间:2017-05-31 09:31:02

标签: asp.net-core azure-application-insights serilog

我试图通过配置过滤我对输入应用洞察的输入。我使用ApplicationInsightsTraces-sink从SeriLog发送数据,如下面的配置所示:

        Log.Logger = new LoggerConfiguration()
            .ReadFrom.Configuration(Configuration)
            .WriteTo
            .ApplicationInsightsTraces(Configuration.GetSection("ApplicationInsights")
                .GetSection("InstrumentationKey").Value)
            .CreateLogger();

此代码将正确的数据发送到Application Insights中的“Trace”,但AI也从其他地方获取跟踪。我想以某种方式构建框架?我想关闭框架中跟踪的标准日志记录,以便我只能使用一个过滤器来记录什么(loglevel和特定的覆盖,例如“Microsoft.AspNetCore”:“Warning”。我宁愿不过滤每个Trace的处理器。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

当我按下面提供的行重置选项时,它似乎按照我想要的方式工作。我不完全确定ApplicationInsightsServiceOptions中哪个属性进行了更改。

services.Configure<ApplicationInsightsServiceOptions>(
    options => Configuration.GetSection("applicationInsights").Bind(options));