058 kafka与log4j集成

Posted juncaoit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了058 kafka与log4j集成相关的知识,希望对你有一定的参考价值。

1.首先在resources下面写log4j.properties

  主要是因为kafka.producer.KafkaLog4jAppender类的存在。

 1 log4j.rootLogger=INFO,console,KAFKA
 2 
 3 ## appender KAFKA
 4 log4j.appender.KAFKA=kafka.producer.KafkaLog4jAppender
 5 ## topic must exitss
 6 log4j.appender.KAFKA.topic=beifeng
 7 log4j.appender.KAFKA.brokerList=linux-hadoop01.ibeifeng.com:9092,linux-hadoop01.ibeifeng.com:9093
 8 log4j.appender.KAFKA.compressionType=none
 9 log4j.appender.KAFKA.syncSend=false
10 log4j.appender.KAFKA.layout=org.apache.log4j.PatternLayout
11 log4j.appender.KAFKA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %% - %m
12 
13 ## appender console
14 log4j.appender.console=org.apache.log4j.ConsoleAppender
15 log4j.appender.console.layout=org.apache.log4j.PatternLayout
16 log4j.appender.console.layout.ConversionPattern=%d (%t) [%p - %l] %m%n

 

2.测试类

 1 package com.jun.it;
 2 
 3 
 4 import org.apache.log4j.Logger;
 5 
 6 public class KafkaLoggerTest {
 7     public static final Logger logger = Logger.getLogger(KafkaLoggerTest.class);
 8 
 9     public static void main(String[] args) throws InterruptedException {
10         for(int i=0;i<50;i++) {
11             logger.debug("debug_" + i);
12             logger.info("info_" + i);
13             logger.warn("warn_" + i);
14             logger.error("error_" + i);
15             logger.fatal("fatal_" + i);
16         }
17 
18         // 如果不sleep,会出现什么情况?怎么解决
19         Thread.sleep(10000);
20     }
21 }

 

3.开启9092端口的消费者服务

  bin/kafka-console-consumer.sh --topic beifeng --zookeeper linux-hadoop01.ibeifeng.com:2181/kafka

 

4.效果

  技术分享图片

 

以上是关于058 kafka与log4j集成的主要内容,如果未能解决你的问题,请参考以下文章

Log4J调用kafka时JVM堆 内存溢出问题定位

Kafka+Log4j2日志

angular.js 与 apache kafka 的集成

Kafka源码工程examples项目配置log4j

Kafka 应用实践与生态集成

log4j使用kafka作为输出源时死锁