gpt4 book ai didi

azure - Cloud_RoleName 通过 ILogger 获取值不一致

转载 作者:行者123 更新时间:2023-12-03 00:35:15 25 4
gpt4 key购买 nike

我有一个应用程序 (dotnet core 2.0),它通过 ILogger 机制将遥测数据发送到我们的 AppInsights 实例

//Startup.cs::Configure()
工厂.AddApplicationInsights(app.ApplicationServices, LogLevel.Information);

虽然这有效,并且对 LogInformation() 及其同级的调用确实写入了我们的 AI,但我注意到一个奇怪的现象,即某些记录似乎缺少 cloud_RoleName 的值(和 cloud_RoleInstance)。

我知道我可以提供遥测初始值设定项来手动设置此值,如果另一个解决方案失败,我将回退到此。但是,我想了解这里发生了什么。应用数据的调用和不应用数据的调用之间似乎没有任何区别。

我见过的唯一区别(只是刚刚注意到,所以还没有测试)是,其中一个有效的区别是在带有 ILogger 的类中,如下所示:

  private ILogger Logger { get; }

而一个不起作用的方法是:

  private readonly ILogger<ConnexeoPartnerLoginHandler> _logger;

这两者之间存在一些差异,因此我需要测试其中一些变化,看看它们是否会对输出产生任何影响。

更新

更改为类似于第一个属性(用于另一个调用的属性)的 ILogger 属性对我来说没有任何区别。没想到会这样,但不得不尝试。

最佳答案

对于不起作用的代码,请尝试在构造函数方法中初始化该字段,如下所示:

private readonly ILogger<ConnexeoPartnerLoginHandler> _logger;

public ConnexeoPartnerLoginHandler(ILogger<ConnexeoPartnerLoginHandler> logger)
{
_logger = logger;
}

关于azure - Cloud_RoleName 通过 ILogger 获取值不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52086715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com