Установите уровень журнала Apache Storm и Flink для отображения отладочных сообщений - PullRequest
0 голосов
/ 11 октября 2019

Итак, я создаю JAR с приложениями Storm и Flink, где я регистрирую сообщения следующим образом:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

// ...

private static final Logger LOG = LoggerFactory.getLogger(Some.class);

// ...

LOG.debug("...");
LOG.info("...");
LOG.error("...");

Затем я передаю JAR в .../bin/storm и .../bin/flink сценарии, и все работает,но уровень журнала установлен на INFO, я также хотел бы отображать DEBUG сообщений только из моего пакета .

Я пробовал несколько вещей, но чувствую, что простопробую случайные вещи из интернета, так как я не могу найти авторитетную справку о том, как этого добиться, и мне тяжело заглядывать в невероятно запутанное состояние средств ведения журнала для Java ...

Я спрашиваю о Storm и Flink, так как подозреваю, что корень моей проблемы тот же, но я могу ошибаться. Также я прошу прощения, если я не предоставил минимальный пример, но здесь действительно нечего предоставить.

Пожалуйста, дайте мне знать, если вам нужны дополнительные сведения.

Ответы [ 3 ]

0 голосов
/ 14 октября 2019

Чтобы изменить уровень журнала и какие классы регистрируются в кластере Flink, измените значение

  • FLINK_HOME/conf/log4j.properties, если вы используете log4j
  • FLINK_HOME/conf/logback.xml, есливы используете logback

до запуска кластера Flink.

Эти файлы будут прочитаны при развертывании кластера Flink. Обратите внимание, что эти параметры не могут быть изменены во время выполнения, если вы не замените регистратор Flink log4j на log4j2, который поддерживает динамическую загрузку параметров.

0 голосов
/ 17 октября 2019

В этом сценарии:

Затем я передаю JAR сценариям .../bin/storm и .../bin/flink, и все работает, но уровень журнала установлен на INFO, я хотел бытакже отображать DEBUG сообщений только из моего пакета .

Я получил следующее неоптимальное решение.

Шторм

Для неизвестногопричины изменения файла /path/to/storm/log4j2/worker.xml не имеют никакого эффекта, поэтому мне нужно действовать программно:

import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.config.Configurator;

// ...

Configurator.setLevel("my.package", Level.ALL);

Flink

Достаточно добавить строку в /path/to/flink/conf/log4j.properties:

log4j.logger.my.package=ALL
0 голосов
/ 11 октября 2019

Для Storm ваша конфигурация журнала находится в storm/log4j2/worker.xml. Это файл конфигурации log4j2, поэтому вы можете узнать, какие варианты есть, посмотрев документацию log4j2 здесь https://logging.apache.org/log4j/2.x/manual/configuration.html.

Я не так хорошо знаком с Flink, но я подозреваю, что он похож. Здесь - это страница Флинка, на которой указано, что в вашем каталоге conf должен быть файл logback.xml.

...