使用 Microsoft 扩展日志记录框架设置 CustomDimensions

Setting CustomDimensions with the Microsoft Extension Logging framework

我已经为 asp.net 核心项目设置了应用洞察。

appsettings.json:

  "ApplicationInsights": {
    "InstrumentationKey": "90f786b7-36a5-xxxx-b1fc-xxxxxxxxx"
  },

Startup.cs:

services.AddApplicationInsightsTelemetry();

现在我可以在我的控制器中记录:

Logger.LogDebug("LogDebug");

我找不到有关如何设置 CustomDemension 的任何信息。我可以在重载上看到有一个对象数组,但不确定是否对于自定义维度。有什么指点吗?

已更新:

            var dict = new Dictionary<string, object> { { "user_name","ivan"},{ "mycity","new york"} };

            using (_logger.BeginScope(dict))
            {
                _logger.LogInformation("this is a test message for testing purpose 456");
            }

原回答:

例如,如果要在customDimentions中添加city/user这2个属性,请在controller中使用以下代码:

string city = "london";
string user = "jack";
_logger.LogInformation("{user} sends a  message from {city}", user, city);

然后在 Azure 门户 -> 应用程序洞察日志中: