Вывод журнала OpenTelemetry на консоль в формате JSONC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Вывод журнала OpenTelemetry на консоль в формате JSON

Сообщение Anonymous »

Здравствуйте, мне нужно, чтобы журналы/метрики/трассировки OpenTelemetry отправлялись на консоль моего приложения, но в формате JSON. Это приложение .NET 8 ASP.NET, настроенное следующим образом: https://learn.microsoft.com/en-us/dotne ... -with-otel, приложение уже ведет журнал Microsoft с форматировщиком журнала JSON ( см. ниже, используется собственный класс JsonLogFormatter). Проблема в том, что все журналы фактически отформатированы как JSON, а OpenTelemetry — нет.

Код: Выделить всё

        var builder = WebApplication.CreateBuilder(args);
var services = builder.Services;

// OpenTelemetry stuff...
var otel = services.AddOpenTelemetry();
otel.WithMetrics(metrics => metrics
.AddAspNetCoreInstrumentation()
.AddMeter("Microsoft.AspNetCore.Hosting")
.AddMeter("Microsoft.AspNetCore.Server.Kestrel")
);
otel.WithTracing(tracing =>
{
tracing.AddAspNetCoreInstrumentation();
tracing.AddHttpClientInstrumentation();
tracing.AddConsoleExporter();
});
[...]
// JSON Microsoft logger added like so...
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.ClearProviders();
builder.AddConfiguration(configuration.GetSection("Logging"))
.AddConsole();
builder.AddConsoleFormatter();
});
services.AddSingleton(loggerFactory);
services.AddLogging();
Вывод на консоль:

Код: Выделить всё

{"message":"Hosting starting","machineName":"XXX","source":"Microsoft.Extensions.Hosting.Internal.Host","level":"Debug","timestamp":"2024-03-14T19:38:23.2569003+01:00"}
Activity.TraceId:            8794488a000a8aa943fb4bd76b8becbe
Activity.SpanId:             bae785686698f263
Activity.TraceFlags:         Recorded
Activity.ActivitySourceName: System.Net.Http
Activity.DisplayName:        GET
Activity.Kind:               Client
[..]
{"message":"Now listening on: https://localhost:6001","...}
Мне бы очень хотелось использовать OpenTelemetry в формате JSON в этом примере журнала. :)

Подробнее здесь: https://stackoverflow.com/questions/781 ... son-format
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Вывод журнала OpenTelemetry на консоль в формате JSON
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Дублирующиеся записи журнала. Ведение облачного журнала Google, opentelemetry.sdk python.
    Anonymous » » в форуме Python
    0 Ответы
    79 Просмотры
    Последнее сообщение Anonymous
  • Как соединить OpenTelemetry (opentelemetry-java-instrumentation) и Micrometer
    Anonymous » » в форуме JAVA
    0 Ответы
    71 Просмотры
    Последнее сообщение Anonymous
  • Opentelemetry печатает журналы консоли в формате json
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Opentelemetry печатает журналы консоли в формате json
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»