我尝试使用log4j2 Kafka appender将日志发送到Kafka主题。以下是我的log4j2.properties文件:
rootLogger.level=all
rootLogger.type=asyncRoot
logger.main.name=main
logger.main.level=all
logger.main.type=asyncLogger
logger.main.appenderRefs=stdout, kafka
logger.main.appenderRef.stdout.ref=STDOUT
logger.main.appenderRef.kafka.ref=KAFKA
appender.stdout.type=Console
appender.stdout.name=STDOUT
appender.stdout.layout.type=PatternLayout
appender.stdout.layout.pattern=[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%level]\t[%marker] %msg%n
appender.kafka.type=Kafka
appender.kafka.name=KAFKA
appender.kafka.bootstrap.servers=urls:host
appender.kafka.topic=topic_name
appender.kafka.layout.type=PatternLayout
appender.kafka.layout.pattern="some pattern
当我使用这个配置启动时,会出现异常:
出了什么问题?Exception in thread "main" org.apache.logging.log4j.core.config.ConfigurationException: No type attribute provided for component bootstrap at org.apache.logging.log4j.core.config.properties.PropertiesConfigurationBuilder.createComponent(PropertiesConfigurationBuilder.java:334) at org.apache.logging.log4j.core.config.properties.PropertiesConfigurationBuilder.processRemainingProperties(PropertiesConfigurationBuilder.java:348) at org.apache.logging.log4j.core.config.properties.PropertiesConfigurationBuilder.createAppender(PropertiesConfigurationBuilder.java:225) at org.apache.logging.log4j.core.config.properties.PropertiesConfigurationBuilder.build(PropertiesConfigurationBuilder.java:158) at org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory.getConfiguration(PropertiesConfigurationFactory.java:52) at org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory.getConfiguration(PropertiesConfigurationFactory.java:35) at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:453) at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:385) at org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:260) at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:615) at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:636) at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:243) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) at org.apache.logging.log4j.LogManager.getContext(LogManager.java:174) at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:648) at org.apache.logging.log4j.LogManager.getRootLogger(LogManager.java:682)