Si registro una excepción con algunos pares clave / valor agregados a los datos, esos valores no se registran. Serían realmente útiles para el diagnóstico del problema en algunos casos, pero no veo ninguna forma de configurar eso.
Por ejemplo, la siguiente aplicación de consola:
<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();
}
}
Da como resultado que esto se registre en la consola:
fail: Console.Program[0]
An error occurred in the console.
System.Exception: Oops!
Ningún signo de los valores en el diccionario de datos.
Lo mismo ocurre si inicio sesión en Azure Application Insight en una aplicación ASP.NET Core.
¿Hay alguna forma de que los datos se muestren en los registros?