logback-kafka-appender

男儿欲遂平生志,五经勤向窗前读。这篇文章主要讲述logback-kafka-appender相关的知识,希望能为你提供帮助。
logback 日志写入kafka队列   logback-kafka-appender 
 
Logback incompatibility Warning【logback-kafka-appender】Due to a bug in logback-core (LOGBACK-1158),  logback-kafka-appender does not work with logback 1.1.7. This bug will be fixed in the upcoming logback 1.1.8. Until 1.1.8 is released, we recommend to use logback 1.1.6.
Full configuration exampleAdd  logback-kafka-appender  and  logback-classic  as library dependencies to your project.

[maven pom.xml] < dependency> < groupId> com.github.danielwegener< /groupId> < artifactId> logback-kafka-appender< /artifactId> < version> 0.1.0< /version> < scope> runtime< /scope> < /dependency> < dependency> < groupId> ch.qos.logback< /groupId> < artifactId> logback-classic< /artifactId> < version> 1.1.2< /version> < scope> runtime< /scope> < /dependency>

// [build.sbt] libraryDependencies += "com.github.danielwegener" % "logback-kafka-appender" % "0.1.0" libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.1.7"

This is an example  logback.xml  that uses a common  PatternLayout  to encode a log message as a string.
[src/main/resources/logback.xml] < configuration> < appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> < encoder> < pattern> %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n< /pattern> < /encoder> < /appender> < !-- This is the kafkaAppender --> < appender name="kafkaAppender" class="com.github.danielwegener.logback.kafka.KafkaAppender"> < !-- This is the default encoder that encodes every log message to an utf8-encoded string--> < encoder class="com.github.danielwegener.logback.kafka.encoding.LayoutKafkaMessageEncoder"> < layout class="ch.qos.logback.classic.PatternLayout"> < pattern> %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n< /pattern> < /layout> < /encoder> < topic> logs< /topic> < keyingStrategy class="com.github.danielwegener.logback.kafka.keying.RoundRobinKeyingStrategy" /> < deliveryStrategy class="com.github.danielwegener.logback.kafka.delivery.AsynchronousDeliveryStrategy" /> < !-- each < producerConfig> translates to regular kafka-client config (format: key=value) --> < !-- producer configs are documented here: https://kafka.apache.org/documentation.html#newproducerconfigs --> < !-- bootstrap.servers is the only mandatory producerConfig --> < producerConfig> bootstrap.servers=localhost:9092< /producerConfig> < !-- this is the fallback appender if kafka is not available. --> < appender-ref ref="STDOUT" /> < /appender> < root level="info"> < appender-ref ref="kafkaAppender" /> < /root> < /configuration>


    推荐阅读