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

阅读数:125 评论数:0

跳转到新版页面

分类

python/Java

正文

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

log4j.rootLogger=INFO,console
log4j.logger.kafka=info,KAFKA 
## appender KAFKA
log4j.appender.KAFKA=kafka.producer.KafkaLog4jAppender
log4j.appender.KAFKA.topic=lxw1234
log4j.appender.KAFKA.brokerList=brokerNode1:9091,brokerNode2:9092
log4j.appender.KAFKA.compressionType=none
log4j.appender.KAFKA.syncSend=true
log4j.appender.KAFKA.layout=org.apache.log4j.PatternLayout
log4j.appender.KAFKA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %% - %m%n
 
## appender console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d (%t) [%p - %l] %m%n


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

 

最后欢迎大家访问我的个人网站:1024s




相关推荐

1、Logger.getLogger()和LogFactory.getLog()的区别 (1)Logger.getLogger()是使用log4j的方式记录日志; <p

consumer是非线程安全的,它不能在多线程中使用,所以在shutdownHook线程中不能使用consumer的close方法。如果你没有在程序退出前很好关闭consumer,最明显的行为主

afka在有新消费者加入或者撤出时,会触发rebalance操作,在subscribe订阅主题的时候,我们可以编写回掉函数,在触发rebalance操作之前和之后,提交相应偏移量和获取偏移量。<

一、概述 springboot中有两种方式使用kafka时,直接使用kafka-client连接kafka服务;另一种是使用spring-kafka框架来连接kafka。 1、版本兼容 使用时要注意版

一、概述 broker 一台kafka服务器就是一个broker topic topic是一个存储消息的逻辑概念,可以认为是一个消息集合。物理上来说,不同的Topic的消息是分开存储的

一、日志框架的介绍 Spring Boot 2.*默认采用slf4j+logback的形式,slf4j是个通用的日志门面,logback就是个具体的日志框架了。

当我们进行web开发的时候总是看到配置的log4j日志在控制台无法显示mybatis的主要是指sql、参数、结果,出现这种问题有两种情况: 情部1:</strong

一、概述 Druid(德鲁伊)是Java语言中的数据库连接池,Spring Boot 2.x默认使用Hikari数据源,虽然HikariCP的速度稍快,但是,Druid能够提供强大的监控和扩展功能。