Я пытаюсь заставить kafka просто войти через консоль, но после установки моего sw я просто вижу эту ошибку.
Мой log4j2. xml:
https://pastebin.com/gqyN1Fsi
мой pom включает следующие зависимости:
[INFO] +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.12.:compile
[INFO] | +- org.apache.logging.log4j:log4j-api:jar:2.12.1:compile
[INFO] | \- org.apache.logging.log4j:log4j-core:jar:2.12.1:runtime
[INFO] +- org.apache.logging.log4j:log4j-api-scala_2.12:jar:11.0:compile
мой основной класс очень простой потребитель:
class Consumer(val brokers: String,
val groupId: String,
val topic: String) extends Logging {
val props: Properties = createConsumerConfig(brokers, groupId)
val consumer: KafkaConsumer[String, User] = new KafkaConsumer[String, User](props)
var executor: ExecutorService = _
def shutdown() = {
if (consumer != null)
consumer.close()
if (executor != null)
executor.shutdown()
}
def createConsumerConfig(brokers: String, groupId: String): Properties = {
val props = new Properties()
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, brokers)
props.put(ConsumerConfig.GROUP_ID_CONFIG, groupId)
props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "true")
props.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "1000")
props.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, "30000")
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer")
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, "kafka.UserDeserializer")
props
}
def run(): Unit = {
consumer.subscribe(Collections.singletonList(this.topic))
Executors.newSingleThreadExecutor.execute(() => {
while (true) {
val records: ConsumerRecords[String, User] = consumer.poll(ofMillis(1000))
records
.forEach(r => {
logger.info("Received message: (" + r.key() + ", " + r.value() + ") at offset " + r.offset())
})
}
})
}
Итак, когда я упаковываю мое приложение и запустить через командную строку java -jar, первые несколько строк:
log4j:WARN No appenders could be found for logger (kafka.utils.Log4jControllerRegistration$).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
что я делаю не так? Я перепробовал множество комбинаций версий зависимостей и попытался изменить свой log4j2. xml на log4j2.properties, но мне так и не удалось зарегистрировать этот регистратор: <</p>
Пожалуйста, предложите мне способ добиться простейшего журнала!