2015-11-12 2 views
0

Я установил kafka и теперь отлично работает, я пытаюсь добавить log-файл в файл log4j.xml моего существующего приложения, чтобы я мог отправлять сообщения в Kafka, поэтому любые примеры log4j.xml kafka appender было бы очень полезно, я добавил ниже зависимость моей pom.xmlKafka Log4j.xml appender

<dependency> 
     <groupId>org.apache.kafka</groupId> 
     <artifactId>kafka_2.10</artifactId> 
     <version>0.8.2.2</version> 
    </dependency> 

вот что я добавил в мой log4j.xml

<appender name="kafka" class="kafka.producer.KafkaLog4jAppender"> 
     <param name="topic" value="test" /> 
     <param name="brokerList" value="localhost:9092" /> 
     <param name="compressionType" value="none" /> 
     <param name="requiredNumAcks" value="0" /> 
     <param name="syncSend" value="true" /> 

     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="[%d{dd.MM.yyyy HH:mm:ss}] %p: %c{1}.%M() - %m%n" /> 
     </layout> 
    </appender> 

А вот ошибка после добавления этой

java.lang.NoSuchMethodError: org.apache.log4j.spi.LoggingEvent.getTimeStamp()J at kafka.producer.KafkaLog4jAppender.append(KafkaLog4jAppender.scala:72) at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65) at org.apache.log4j.Category.callAppenders(Category.java:203) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at org.slf4j.impl.Log4jLoggerAdapter.log(Log4jLoggerAdapter.java:597) at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:159) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:272) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:656) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1635) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)

ответ

0

Это мои результаты. Я тестировал его с помощью kafka 0.8.2.2. Пожалуйста, убедитесь, что добавить следующую DEPENDENCY

<dependency> 
     <groupId>org.apache.kafka</groupId> 
     <artifactId>kafka_2.10</artifactId> 
     <version>0.8.2.2</version> 
    </dependency> 

Ниже представлен пример файла log4j:

log4j.rootLogger=INFO 
log4j.appender.KAFKA=kafka.producer.KafkaLog4jAppender 
log4j.appender.KAFKA.BrokerList=sandbox.hortonworks.com:6667 
log4j.appender.KAFKA.Topic=test2 
log4j.appender.KAFKA.layout=org.apache.log4j.PatternLayout  
log4j.appender.KAFKA.layout.ConversionPattern=%m%n 
log4j.appender.KAFKA.syncsend=true 
log4j.logger.org.nk.kafkatut.producer=INFO, KAFKA 

Вот мой пример кода приложения, которое использует log4j: -

package org.nk.kafkatut.producer; 

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
public class Log4jAppenderDemo { 
public static final Logger LOG = LoggerFactory.getLogger(Log4jAppenderDemo.class.getName()); 
public static void main(String[] args) { 
    LOG.info("test message:1"); 
    LOG.info("test message:2"); 
} 

}

+0

Я обновил записи log4j.xml и ошибку, которую я вижу после этого – GG0424

+0

@ GG0424 Похоже, журнал 4j проблема зависимости. Не могли бы вы разместить весь контент вашего log4j.xml. – mrnakumar

Смежные вопросы