2015-11-25 2 views
0

Я использую класс org.springframework.amqp.rabbit.log4j.AmqpAppender для записи журналов в Rabbitmq. Все, что я хочу, это мой журнал приложений, который должен быть установлен в json-формате, который в конечном итоге будет удален из-за поиска эластичности. Какой будет правильный формат/шаблон для регистрации в формате JSON или есть ли какая-либо библиотека, которую я могу использовать?правильный формат журнала JSON с приложением AMQP

ответ

0

Это зависит от того, что используется для анализа сообщений журнала. Например, для этих целей вы можете использовать logstash. В случае логарифма журнала есть библиотека, которая реализует макет log4j для форматирования правильных сообщений о событиях json для logstash: log4j-jsonevent-layout. Ваша конфигурация appender будет выглядеть так:

<appender name="amqp" class="org.springframework.amqp.rabbit.log4j.AmqpAppender"> 
    <param name="host" value="localhost" /> 
    <param name="port" value="5672" /> 
    <param name="virtualHost" value="/" /> 
    <param name="username" value="guest" /> 
    <param name="password" value="guest" /> 
    <param name="exchangeName" value="logs" /> 
    <param name="exchangeType" value="topic" /> 
    <param name="routingKeyPattern" value="%c.%p" /> 
    <param name="applicationId" value="AppId" /> 
    <param name="declareExchange" value="true" /> 
    <param name="durable" value="true" /> 
    <param name="contentType" value="text/plain" /> 
    <param name="senderPoolSize" value="2" /> 
    <param name="maxSenderRetries" value="30" /> 
    <layout class="net.logstash.log4j.JSONEventLayoutV1" > 
     <param name="UserFields" value="field1:test" /> 
    </layout> 
</appender> 

Вы всегда можете написать свой собственный макет.

Кроме того, некоторая Appender альтернатива: rabbitmq-log4j-appender

+0

Спасибо @alsid за ваш ответ. Я создал один пользовательский appender и использовал ch.qos.logback.contrib.jackson.JacksonJsonFormatter вместе с ch.qos.logback.contrib.json.classic.JsonLayout для этой цели, и это сработало для меня. – RIPAN

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