azure 如何通过代码启用EnableSqlCommandTextInstrumentation?

w8f9ii69  于 2023-04-07  发布在  其他
关注(0)|答案(2)|浏览(103)

根据文档,您需要将以下内容添加到applicationInsights.config文件中以启用完整的SQL日志记录:

<Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector">
    <EnableSqlCommandTextInstrumentation>true</EnableSqlCommandTextInstrumentation>
</Add>

但是在我的ASP.NET应用程序中,运行在Azure应用服务中托管的.NET Framework 4.7.2上,我通过代码启用/配置Application Insights:

TelemetryConfiguration.Active.DisableTelemetry = false;
TelemetryConfiguration.Active.InstrumentationKey = setting.ApplicationInsightsInstrumentationKey;

如何通过代码启用此设置?
P.S.:Web App中的设置已正确启用。

ubbxdtey

ubbxdtey1#

似乎即使通过代码启用了AI,它也会从配置文件中获取设置。
我把它添加到我的applicationInsights.config,它现在似乎工作。

nwsw7zdq

nwsw7zdq2#

Startup.cs中:

public void ConfigureServices(IServiceCollection services) {

    services.AddApplicationInsightsTelemetry(o => { ... });

    services.ConfigureTelemetryModule<DependencyTrackingTelemetryModule>(
        (module, o) => { module.EnableSqlCommandTextInstrumentation = true; }
    );
}

我看起来微软现在已经将代码配置添加到他们的文档中了:

  • 高级SQL跟踪以获取完整的SQL查询

相关问题