Skip to content

sakinapelli/rabbitmq-log4j-appender

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rabbitmq-log4j-appender

A simple log4j appender to publish messages to a RabbitMQ queue. The appender includes a layout which converts all log messages to JSON objects.

The configuration is simple:

XML Configuration

<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="rabbitmq" class="com.plant42.log4j.appenders.RabbitMQAppender">
        <param name="identifier" value="identifier"/>
        <param name="host" value="rabbitmq.whateveryourhostis.com"/>
        <param name="port" value="5672"/>
        <param name="username" value="guest"/>
        <param name="password" value="guest"/>
        <param name="virtualHost" value="/"/>
        <param name="exchange" value="log4j-exchange"/>
        <param name="type" value="direct"/>
        <param name="durable" value="false"/>
        <param name="queue" value="log4j-queue"/>
        <param name="routingKey" value=""/>
        <layout class="com.plant42.log4j.layouts.JSONLayout" />
    </appender>
    <root>
        <level value="ERROR"/>
        <appender-ref ref="rabbitmq"/>
    </root>
    </log4j:configuration

ElasticSearchJSONLayout

<?xml version="1.0" encoding="UTF-8" ?>
   <?xml version="1.0" encoding="UTF-8" ?>
   <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
   <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
       <appender name="rabbitmq" class="com.plant42.log4j.appenders.RabbitMQAppender">
           <param name="identifier" value="identifier"/>
           <param name="host" value="rabbitmq.whateveryourhostis.com"/>
           <param name="port" value="5672"/>
           <param name="username" value="guest"/>
           <param name="password" value="guest"/>
           <param name="virtualHost" value="/"/>
           <param name="exchange" value="log4j-exchange"/>
           <param name="type" value="direct"/>
           <param name="durable" value="false"/>
           <param name="queue" value="log4j-queue"/>
           <param name="routingKey" value=""/>
           <layout class="com.plant42.log4j.layouts.ElasticSearchJSONLayout">
                <param name="index" value="logging" />
                <param name="type" value="errors" />
           </layout>
       </appender>
       <root>
           <level value="ERROR"/>
           <appender-ref ref="rabbitmq"/>
       </root>
       </log4j:configuration
   

Properties Configuration

log4j.appender.rabbitmq=com.plant42.log4j.appenders.RabbitMQAppender
log4j.appender.rabbitmq.identifier=identifier
log4j.appender.rabbitmq.host=rabbitmq.whateveryourhostis.com
log4j.appender.rabbitmq.port=5672
log4j.appender.rabbitmq.username=guest
log4j.appender.rabbitmq.password=guest
log4j.appender.rabbitmq.virtualHost=/
log4j.appender.rabbitmq.exchange=log4j-exchange
log4j.appender.rabbitmq.type=direct
log4j.appender.rabbitmq.durable=false
log4j.appender.rabbitmq.queue=log4j-queue
log4j.appender.rabbitmq.layout=com.plant42.log4j.layouts.JSONLayout

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%