Как установить разные уровни ведения журнала в openelemetry-java?

Мы планируем использовать открытую телеметрию в качестве инструмента ведения журнала в новом микросервисе на основе Spring-boot. Мы рассмотрели два способа использования otel: первый — использование ручного инструментария, предоставляемого Java, а другой — использование Spring-cloud-sleuth с использованием аннотации @NewSpan. Однако я не смог найти способ указать разные уровни ведения журнала, такие как INFO/ERROR/DEBUG. Нам нужна возможность контролировать и ограничивать чрезмерное ведение журнала. Однако при необходимости в устранении неполадок могут помочь дополнительные журналы отладки. Как мы можем установить уровни ведения журнала с помощью open-telemetry java или spring-sleuth?

Уодате: Как прокомментировал @Jan, я запутался между трассировкой и ведением журнала. Однако я не могу найти документацию о поддержке ведения журнала с помощью opentelemetry-java. Есть ли способ сделать это? Кроме того, если мы используем разные инструменты для отслеживания и ведения журнала, будет ли это считаться плохой практикой?

Похоже, вы не понимаете разницы между logging (сущность log) и tracing (сущность trace) и пытаетесь получить уровень логирования при трассировке.

Jan Garaj 24.11.2022 13:05

Да.... Я новичок в концепции отслеживания. Итак, как в целом мы используем комбинацию трассировки и ведения журнала? Можем ли мы использовать разные фреймворки для обоих? Например, если мы используем open-telemetry для трассировки и slf4j/log4j для логирования, будет ли это считаться плохой практикой?

Sumit Desai 24.11.2022 13:11

Я бы сказал, что это будет хорошее начало. Opentelemetry — это концепция метрик, трассировок, логов. К сожалению, реализация журналов Opentelemetry находится только в альфа-версии, поэтому для ведения журналов лучше использовать стандартные библиотеки журналов.

Jan Garaj 24.11.2022 14:12
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Итак, как в целом мы используем комбинацию трассировки и ведения журнала? Можем ли мы использовать разные фреймворки для обоих? Например, если мы используем open-telemetry для трассировки и slf4j/log4j для логирования, будет ли это считаться плохой практикой?

OpenTelemetry никогда не будет иметь API-интерфейс «логирования», предназначенный для использования обычными пользователями, предполагается, что он собирает журналы, созданные реальными библиотеками ведения журналов (такими как log4j или logback).

Поддержка OpenTelemetry для журналов все еще находится в состоянии альфа-версии (это означает, что SPI/SDK ведения журналов могут по-прежнему изменяться без обратной совместимости), но у нас уже есть специальные приложения OpenTelemetry для нескольких наиболее часто используемых библиотек журналов, таких как log4j. или logback. Вы должны быть в состоянии использовать их и ожидать относительно небольших критических изменений.

Нет ли поддержки slf4j с приложениями OpenTelemetry?

Sumit Desai 29.11.2022 09:15

Только slf4j-api? Нет, у нас этого нет — вместо этого мы используем (вероятно) все фактические реализации журналирования, такие как logback или log4j. Вы можете использовать slf4j, например. log4j и агент (или настроенный вручную модуль добавления, если вы не используете javaagent) будут собирать все журналы.

Mateusz Rzeszutek 30.11.2022 09:56

Хорошо. Спасибо за подтверждение

Sumit Desai 30.11.2022 12:09

Другие вопросы по теме