如果我在数据中添加了一些键/值对来记录异常,则不会记录这些值。在某些情况下,它们对诊断问题非常有帮助,但我看不到任何配置方法。
例如,以下控制台应用程序:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.2" />
</ItemGroup>
</Project>
class Program
{
static void Main(string[] args)
{
var exception = new Exception("Oops!");
exception.Data.Add("useful-data-key", "useful-data-value");
ILogger<Program> logger = LoggerFactory.Create(builder => builder.AddConsole()).CreateLogger<Program>();
logger.LogError(exception, "An error occurred in the console.");
Console.WriteLine("Logged");
Console.Read();
}
}
结果被记录到控制台:
fail: Console.Program[0]
An error occurred in the console.
System.Exception: Oops!
数据字典中没有值的符号。
如果我在 ASP.NET Core 应用程序中登录到 Azure Application Insight,情况也是如此。
有什么办法可以让这些数据输出到日志中?