Cloud_RoleName通过ILogger不一致地获取值

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

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

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

虽然这是有效的,并且调用LogInformation()及其兄弟姐妹的确写入我们的AI,但我注意到一些奇怪的事情,因为某些记录似乎缺少cloud_RoleName(和cloud_RoleInstance)的值。

我知道我可以提供一个遥测初始化程序来手动设置这个值,并且失败了另一个解决方案,我会回到这个。但是,我想了解这里发生的事情。获取数据的调用与不应用数据的调用之间似乎没有任何区别。

我见过的唯一区别(只是注意到,所以没有经过测试)是其中一个有效的是与ILogger这样的类:

  private ILogger Logger { get; }

一个不起作用的是:

  private readonly ILogger<ConnexeoPartnerLoginHandler> _logger;

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

更新

更改为ILogger属性类似于第一个属性(用于另一个调用的属性)对我没有任何影响。不要指望它,但不得不尝试。

azure azure-web-sites azure-application-insights
1个回答
-1
投票

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

private readonly ILogger<ConnexeoPartnerLoginHandler> _logger;

public ConnexeoPartnerLoginHandler(ILogger<ConnexeoPartnerLoginHandler> logger)
{
     _logger = logger;
}
© www.soinside.com 2019 - 2024. All rights reserved.