Exemple appender REDIS avec log4j2

Last modified by Jean-Claude ALLETRU on 2024/08/20 10:22

Exemple d'appender redis pour log4j2 qui envoie des json_event utilisables par logstash
<RedisAppender name="REDIS" key="rd_xxxxxx_prod"
                           host="vmxxxxxxxxxxxx.hardis.fr" port="6379"  
                           password="xxxxxxxxxxxxx"
                           ignoreExceptions="true">

 <JsonTemplateLayout eventTemplateUri="classpath:LogstashJsonEventLayoutV1.json" locationInfoEnabled="true">
    <EventTemplateAdditionalField key="monchamp1" value="mavaleur1"/>
    <EventTemplateAdditionalField key="monchamp2" value="mavaleur2"/>
    <EventTemplateAdditionalField key="monchamp3" value="mavaleur3"/>
 </JsonTemplateLayout>

 <RedisConnectionPoolConfig testWhileIdle="true"
                            minEvictableIdleTimeMillis="60000"
                            timeBetweenEvictionRunsMillis="30000"
                            numTestsPerEvictionRun="-1"/>

 <RedisThrottlerConfig bufferSize="5000"
                       batchSize="50"
                       flushPeriodMillis="2000"
                       maxEventCountPerSecond="unlimited"
                       maxByteCountPerSecond="unlimited"
                       maxErrorCountPerSecond="0.003"/>
</RedisAppender>

Pour plus d'information sur les paramètres propres à l'appender redis voir : https://github.com/vy/log4j2-redis-appender

Pour plus d'information sur le JsonTemplateLayout voir : https://logging.apache.org/log4j/2.x/manual/json-template-layout.html