2016-09-15 1 views
0

У нас есть сервер log4j 2, и разные приложения должны отправлять ему журналы. Раньше у нас были только приложения Spring, и интеграция была встроена. Теперь у нас есть приложения Golang, и они также должны отправлять журналы на этот сервер. Мы попытались отправить некоторые простые сообщения непосредственно через сокет, но сервер log4j не может их забрать.Log4j 2 Adapter for Go

Требуется ли для сервера log4j определенный формат? Я не вижу ошибки на моей стороне клиента. Интересно, как отправлять журналы на сервер log4j с другого языка, такого как Go.

ответ

1

Требуется ли сервер log4j определенного формата?

Да, конечно.

Если вы читали Javadoc из SocketAppender, вы найдете:

SocketAppenders не использовать макет. Они отправляют на серверную часть сериализованный LoggingEvent объект.

Итак, если вы не реализуете код Go для записи пакета сокета в формате Java-сериализованного объекта, вам следует рассмотреть возможность использования какого-либо другого сервера ведения журнала, например. syslog.

+0

Вы имеете в виду, что мне нужно преобразовать любое сообщение журнала в объект LogginEvent в Go и сериализовать его каким-то образом, как json, а затем отправить на сервер? –

+0

@JFreebird Нет, не JSON. Он сериализуется в проприетарном двоичном формате, используемом сериализацией Java. – Andreas

+0

Какой вид фирменного двоичного формата? Можете ли вы привести простой пример кода Java? Большое спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^