2016-04-04 11 views
3

I kafka-Kunden-0.9.0.0.jar mit Maven heruntergeladen und ich erwarte ich Kafka LoggingSo aktivieren Kafka mit log4j Logging

Allerdings habe ich keine Ahnung, in dieser Verbindung, wie die Protokollierung würde, warum ich nicht immer jede Protokollierung, sogar ich habe die bootstrap.server falsch auf purpuse gesetzt, aber es blieb einfach stecken, ohne irgendeine Warnung zu werfen. Ich habe ein paar Zeilen Code hinzugefügt, um mit Log4j in eine Datei zu drucken, und es scheint Arbeit, aber keine Ahnung, warum Kafka Ereignis zu Log4j nicht protokollieren kann.

import org.apache.log4j.Logger; 
public class ConsumerLoop implements Runnable { 
    final static Logger logger = Logger.getLogger(ConsumerLoop.class); 

    @Override 
    public void run() { 

     logger.warn("running!!!!!"); 
     } 
} 


SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
2016-04-04 12:54:01 WARN ConsumerLoop:40 - running!!!!! 

Hinweis gibt es slf4j-api-1.7.6.jar, die als Abhängigkeit von kafka kam. Sogar ich habe die erforderliche Bibliothek slf4j-api-x.x.x.jar, slf4j-log4jx-x.x.x.jar und verwendet slf4j, um sogar zu protokollieren, aber immer noch nicht die Kafka-Protokolle zu erhalten.

Antwort

1

Dies ist eine alte Frage, aber jemand kann immer noch profitieren.

Einfach log4j.properties unter/src/main/resources mit Daten

log4j.rootLogger=TRACE, stdout  
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n 

#log4j.appender.fileAppender=org.apache.log4j.FileAppender 
#log4j.appender.fileAppender.File=kafka-request.log 
#log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout 
#log4j.appender.fileAppender.layout.ConversionPattern= %-4r [%t] %-5p %c %x - %m%n 


# Turn on all our debugging info 
log4j.logger.kafka=TRACE,stdout 
#log4j.logger.kafka.producer.async.DefaultEventHandler=DEBUG,stdout 
#log4j.logger.kafka.consumer.PartitionTopicInfo=TRACE,stdout 
#log4j.logger.kafka.request.logger=TRACE,fileAppender 
#log4j.additivity.kafka.request.logger=false 
#log4j.logger.kafka.network.Processor=TRACE,fileAppender 
#log4j.additivity.kafka.network.Processor=false 
#log4j.logger.org.I0Itec.zkclient.ZkClient=DEBUG 

Und füge Abhängigkeit

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-log4j12</artifactId> 
    <version>1.7.5</version> 
</dependency> 

Dann Sie Protokolle in der Konsole sehen können.

Verwandte Themen