我已经安装了kafka并且工作正常,现在我正在尝试将log appender添加到现有应用程序的log4j.xml文件中,这样我就可以将消息推送到kafka中,所以log4j.xml kafka appender的任何示例都会非常有帮助,我在pom.xml中添加了以下依赖项
<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位于kafka.producer.kafkalog4jappender.append(kafkalog4jappender。scala:72)在org.apache.log4j.appenderskeleton.doappend(appenderskeleton。java:230)在org.apache.log4j.helpers.appenderatachableimpl.appenderlooponappenders(appenderatachableimpl。java:65)在org.apache.log4j.category.callappenders(category。java:203)在org.apache.log4j.category.forcedlog(category。java:388)在org.apache.log4j.category.log(category。java:853)在org.slf4j.impl.log4jloggeradapter.log(log4jloggeradapter。java:597)在org.apache.commons.logging.impl.slf4jlocationawarelog.info(slf4jlocationawarelog。java:159)在org.springframework.web.context.contextloader.initwebapplicationcontext(contextloader。java:272)在org.springframework.web.context.contextloaderlistener.contextinitialized(contextloaderlistener。java:111)在org.apache.catalina.core.standardcontext.listenerstart(standardcontext。java:4939)在org.apache.catalina.core.standardcontext.startinternal(standardcontext。java:5434)在org.apache.catalina.util.lifecyclebase.start(lifecyclebase。java:150)在org.apache.catalina.core.containerbase.addchildinternal(containerbase。java:901)在org.apache.catalina.core.containerbase.addchild(containerbase。java:877)在org.apache.catalina.core.standardhost.addchild(标准主机。java:633)在org.apache.catalina.startup.hostconfig.deploydescriptor(hostconfig。java:656)在org.apache.catalina.startup.hostconfig$deploydescriptor.run(hostconfig。java:1635)在java.util.concurrent.executors$runnableadapter.call(executors。java:471)在java.util.concurrent.futuretask.run(futuretask。java:262)位于java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor。java:1145)在java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor。java:615)在java.lang.thread.run(线程。java:745)
1条答案
按热度按时间63lcw9qa1#
这是我的结果。我用Kafka0.8.2.2测试过。请确保添加以下依赖项
下面是示例log4j文件:
下面是我使用log4j的示例应用程序代码:-
}