我的 ASP.NET Web Api 有 appsettings.json 指定 Serilog 和 Serilog.Sinks.Datadog.Logs。
这工作正常,但是,arg“apiKey”是以明文形式指定的,这违反了我们公司的标准。
我想通过代码覆盖该特定属性(在组合根)。
(代码已从某些秘密管理器访问的内容)
有人知道该怎么做吗? (C#)
您可以在创建记录器实例的代码中配置 API 密钥。请参阅下面的示例代码。
我通过将 appsettings.json 值替换为 Azure Key Vault url 来处理这种情况。看看这个这里
示例代码:
Log.Logger = new LoggerConfiguration()
.WriteTo.DatadogLogs("<API_KEY>")
.CreateLogger();
// An example
var position = new { Latitude = 25, Longitude = 134 };
var elapsedMs = 34;
Log.Information("Processed {@Position} in {Elapsed:000} ms.", position, elapsedMs);
Log.CloseAndFlush();
欲了解更多信息,请查看此处以获取更多信息。