2016-12-29 3 views
0

В моей компании существует протоколирование инфраструктуры, которая получает журналы в формате JSON через порт в виде:Log4j пишет исходный текст в отличие от события регистрации?

{"Type":"<LogName, i.e. INFO>","Message":"<Message>",etc...} 

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

{"Type":"%p", "Message":"%m%n", etc...} 

Однако, похоже, Log4j не посылает само сообщение - оно обматывает это сообщение в виде LoggingEvent, из которых мое сообщение является полем. По-видимому, это предназначено для десериализации сервера, но поскольку я пытаюсь подключить 2 части программного обеспечения, я не могу этого сделать. Есть ли способ отправить только сообщение вместо всего LoggingEvent в сокет?

+0

Какой тип брэнда вы используете? –

+0

Использование версии 1.2.16 – user7352005

ответ

0

Если кому-то это интересно, я решил проблему, написав собственный пользовательский приложение, используя this в качестве общего руководства к процессу.