首页 > 解决方案 > Log4j 无法正常工作

问题描述

如何让 kafka 流与 log4j 一起工作?例如,执行以下操作不会在控制台中产生任何输出

public class Streamtest{
    final static Logger logger = Logger.getLogger(Streamtest.class.getName());
    public static void main(String[] args) {
       logger.debug("In main");

Log4j 属性

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

运行命令

java -cp /tmp/Streamtest.jar:/usr/hdp/2.6.1.0-129/kafka/libs/* -Djava.security.auth.login.config=/tmp/kafka_jaas.conf org.cox.test.Streamtest -Dlog4j.configuration=file:/tmp/log4j.properties

更正的命令

java -cp /tmp/Streamtest.jar:/usr/hdp/2.6.1.0-129/kafka/libs/* -Djava.security.auth.login.config=/tmp/kafka_jaas.conf -Dlog4j.configuration=file:/tmp/log4j.properties org.cox.test.Streamtest

标签: apache-kafkaapache-kafka-streams

解决方案


想通了,见上面更正的命令。属性参数应首先保留,然后是主类。愚蠢的错误!


推荐阅读