JBOSS EAP 7.2 переносит сообщения STDOUT и STDERR - PullRequest
1 голос
/ 19 февраля 2020

Этот вопрос задавался несколько раз ранее, и есть некоторые ответы, но ни один из них не подходит для того требования, которое у меня есть, потому что ответы направлены либо на консольный, либо на файловый аппендеры.

Конфигурация форматера обоих этих аппендеров настроена через автономный или домен xml. Однако я использую json /logstash formatter.

Моя проблема в том, что сообщения, отправленные на stdout или stderr, переносятся на Redhat jboss eap с уровнем журнала как INFO (независимо от их уровня), и каждая строка трассировки стека обрабатывается как отдельный JSON блок.

Из-за этого logsta sh интерпретирует все сообщения как INFO, а не как предупреждение или ошибки, и это выглядит очень уродливо и трудно интерпретировать в кибане.

Фрагмент журнала сервера jboss.

{
    "timestamp": "2020-02-19T13:19:18.743Z",
    "sequence": 249,
    "loggerClassName": "org.jboss.logmanager.Logger",
    "loggerName": "**stdout**",
    "level": "**INFO**",
    "message": "2020-02-19T14:19:18.000743+0100 [DBQueue_3] **ERROR** **com.uuapp.data** - Invalid operation name in participant message \"Pmsg:Id=0,Sender=0,Consumer=0,ActIndex=0,Oper=null,Flag=0, Priority=8\"",
    "threadName": "DBQueue_3",
    "threadId": 530,
    "mdc": {
    },
    "ndc": "",
    "hostName": "uu-app-18934",
    "processName": "jboss-modules.jar",
    "processId": 22061
}

Есть ли способ обойти эту раздражающую функцию и заставить jboss использовать журналы, отправленные из консоли приложения logback, как есть? Atleast объединяет трассировку стека в один json блок?

Обратите внимание, что приложение использует logback. Я знаю, что logback имеет форматеры json, которые я могу использовать, но мои руки связаны, поскольку приложение является своего рода продуктом для детских кроваток, разработанным в java, и использует 3pp jar-файлы, которые не обновляются для использования форматеров json и не разрешено переопределить войну.

Итак, если нужно что-то сделать, нужно сделать на стороне сервера.

Любая помощь приветствуется.

...