.Net Core SonarQube - 确保记录器的配置安全

问题描述 投票:0回答:1

我有以下代码将错误记录到应用程序洞察中。我使用 SeriLog 并用属性丰富它

var log = new LoggerConfiguration()
.Enrich.FromLogContext()
.Enrich.WithProperty("ApplicationName", "MyDashboard").
WriteTo.ApplicationInsights(builder.Configuration
.GetConnectionString("APPLICATIONINSIGHTS_CONNECTION_STRING"), new TraceTelemetryConverter())
.CreateLogger();

SonarQube 不断标记此行,要求确保记录器的配置安全。

我该如何解决这个问题?

c# .net-core logging sonarqube serilog
1个回答
0
投票

现在回到解决方案,您需要承受

WriteTo.ApplicationInsights()
的过载。包括以
Serilog.Sinks.ApplicationInsights.Configuration.ApplicationInsightsConfiguration
对象作为第二个参数的方法的重载版本。

using Serilog.Sinks.ApplicationInsights;
var log = new LoggerConfiguration()
    .Enrich.FromLogContext()
    .Enrich.WithProperty("ApplicationName", "MyDashboard")
    .WriteTo.ApplicationInsights(builder.Configuration.GetConnectionString("APPLICATIONINSIGHTS_CONNECTION_STRING"), new ApplicationInsightsConfigurationBuilder()
        .SetTelemetryConverter(new TraceTelemetryConverter())
        .DisableSensitiveInformationLogging()
        .Build())
    .CreateLogger();

代码将创建一个记录器,该记录器将使用

TraceTelemetryConverter
将遥测数据写入 Application Insights,并且
DisableSensitiveInformationLogging()
方法指示记录器不要记录任何敏感信息,从而解决您的 SonarQube 警告。

© www.soinside.com 2019 - 2024. All rights reserved.