Получение Log4j2 для использования json в качестве logformat - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь заставить Jetty 9.4.14 войти как json в стандартный вывод вместо org.eclipse.jetty.util.log.StdErrLog.Для отладки я запускаю jetty из каталога демо-базы с java -jar ../start.jar.

У меня есть

  • ran java -jar ../start.jar --add-to-start=logging-log4j2
  • run java -jar ../start.jar --add-to-start=ext
  • добавлены jackson-databind-2.9.8.jar и jackson-core-2.9.8.jar в ./lib/ext

Если просто измените уровень логирования в ./resources/log4j2.xml от "info" до "warning" Я вижу, что я получаю только предупреждение о ведении журнала на stdout, поэтому log4j2.xml читается.

Когда я пытаюсь добавить новый appender с JsonLayout к этому файлу, я вижу, что используется запись в org.eclipse.jetty.util.log.StdErrLog вместо log4j2.

Я вижуэто когда я добавляю appender "console2" ниже:

  <Appenders>
    <Console name="console" target="SYSTEM_ERR">
      <PatternLayout>
        <Pattern>xxx %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n</Pattern>
      </PatternLayout>
    </Console>

    <Console name="console2" target="SYSTEM_ERR">
          <JsonLayout></JsonLayout>
    </Console>
  </Appenders>

Есть идеи?Спасибо!:)

...