Если у кого-то есть такой же вопрос, это можно сделать, написав свой собственный процессор. Например, этот код запишет в консоль именно то, что показано в результатах отладки:
using System;
using System.Text;
using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.ApplicationInsights.Extensibility.Implementation;
namespace YourNamespace
{
public class TelemetryConsoleWritingProcessor : ITelemetryProcessor
{
private ITelemetryProcessor Next { get; set; }
public TelemetryConsoleWritingProcessor(ITelemetryProcessor next) => Next = next;
public void Process(ITelemetry item)
{
byte[] serializedItem = JsonSerializer.Serialize(new ITelemetry[] { item }, false);
string jsonItem = Encoding.UTF8.GetString(serializedItem);
Console.WriteLine($"Application Insights Telemetry: {jsonItem}");
Next.Process(item);
}
}
}
, и зарегистрируйте его, выполнив что-то подобное при настройке конфигурации телеметрии:
options.TelemetryProcessorChainBuilder.Use(next => new TelemetryConsoleWritingProcessor(next));
Хотя это работает, вывод довольно подробный для консоли. Поэтому моя личная реализация нацелена на определенные c типы элементов внутри Process () и настраивает их индивидуально только для консоли.
Надеюсь, это поможет.