Logging 使用serilog记录Application Insight自定义维度

Logging 使用serilog记录Application Insight自定义维度,logging,azure-application-insights,asp.net-core-3.1,serilog,.net-5,Logging,Azure Application Insights,Asp.net Core 3.1,Serilog,.net 5,我想用一些定制信息(例如用户角色、业务解决方案等)丰富serilog跟踪消息,并希望在Application Insight“Custom Dimension”字段中查看这些属性。我试着四处看看,但没有找到合适的解决办法。我使用的是ASP.NET Core 3.1,正如op在评论中所说,这里有一个 基本上,当我们将serilog与application insights一起使用时,我们通常设置如下自定义维度: var position = new { Latitude = 25, Longitu

我想用一些定制信息(例如用户角色、业务解决方案等)丰富serilog跟踪消息,并希望在Application Insight“Custom Dimension”字段中查看这些属性。我试着四处看看,但没有找到合适的解决办法。我使用的是ASP.NET Core 3.1,正如op在评论中所说,这里有一个

基本上,当我们将
serilog与application insights一起使用时,我们通常设置如下自定义维度:

var position = new { Latitude = 25, Longitude = 134 }; 
var elapsedMs = 34; 
var numbers = new int[] { 1, 2, 3, 4 };  
Logger.Information("Processed {@Position} in {Elapsed:000} ms., str {str}, numbers: {numbers}", position, elapsedMs, "test", numbers);

正如op在评论中所说,有一个问题

基本上,当我们将
serilog与application insights一起使用时,我们通常设置如下自定义维度:

var position = new { Latitude = 25, Longitude = 134 }; 
var elapsedMs = 34; 
var numbers = new int[] { 1, 2, 3, 4 };  
Logger.Information("Processed {@Position} in {Elapsed:000} ms., str {str}, numbers: {numbers}", position, elapsedMs, "test", numbers);

好吧,也许我找到了解决我自己问题的可能方法。他们建议使用以下
var position=new{纬度=25,经度=134};var elapsedMs=34;变量数=新的int[]{1,2,3,4};信息(“已处理的{@Position}在{appeased:000}毫秒,str{str},数字:{numbers}”,位置,elapsedMs,“测试”,数字)将自定义参数记录到“CustomDimension”中。看起来它工作得很好。你觉得呢?好吧,也许我找到了解决我自己问题的可能方法。他们建议使用以下
var position=new{纬度=25,经度=134};var elapsedMs=34;变量数=新的int[]{1,2,3,4};信息(“已处理的{@Position}在{appeased:000}毫秒,str{str},数字:{numbers}”,位置,elapsedMs,“测试”,数字)将自定义参数记录到“CustomDimension”中。看起来它工作得很好。你怎么认为?