使用Log4j将程序日志实时写入Kafka

来源:互联网 发布:知党史 编辑:程序博客网 时间:2024/05/16 14:10

很多应用程序使用Log4j记录日志,如何使用Kafka实时的收集与存储这些Log4j产生的日志呢?一种方案是使用其他组件(比如Flume,或者自己开发程序)实时监控这些日志文件,然后发送至Kafka。而另外一种比较便捷的方案是使用Kafka自带的Log4jAppender,在Log4j配置文件进行相应的配置,即可完成Log4j产生的日志实时发送至Kafka中。

log4j.rootLogger=INFO,consolelog4j.logger.kafka=info,KAFKA ## appender KAFKAlog4j.appender.KAFKA=kafka.producer.KafkaLog4jAppenderlog4j.appender.KAFKA.topic=lxw1234log4j.appender.KAFKA.brokerList=brokerNode1:9091,brokerNode2:9092log4j.appender.KAFKA.compressionType=nonelog4j.appender.KAFKA.syncSend=truelog4j.appender.KAFKA.layout=org.apache.log4j.PatternLayoutlog4j.appender.KAFKA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %% - %m%n ## appender consolelog4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.target=System.errlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern=%d (%t) [%p - %l] %m%n

注意:Kafka appender的配置参数,和Kafka版本有关。

原创粉丝点击