Очень новичок в Scala и многое узнал об этом, пытаясь вычислить и записать задержку для моих записей kafka, используя log4j, но столкнулся с ошибками. Пытался взглянуть на некоторые SO статьи , но мне кажется, что здесь я пропустил концепцию Scala. Любая помощь приветствуется.
Solution1: это не дает ошибки, я не понимаю, как это работает, а Solution2 - нет.
val currentTimeInMillis = Instant.now.toEpochMilli
val latency = Math.max(0, currentTimeInMillis - record.timestamp())
logger.info("record latency: {}", latency)
logger.info("record KafkaPartition: {}, record Offset: {}", record.kafkaPartition(), record.kafkaOffset())
Solution2: выдает ошибку:
val currentTimeInMillis = Instant.now.toEpochMilli
val latency = Math.max(0, currentTimeInMillis - record.timestamp())
logger.info("record latency: {}, record KafkaPartition: {}, record Offset: {}", latency, record.kafkaPartition(), record.kafkaOffset())
Получение ошибки ниже для Solution2:
ошибка: перегруженная информация о значении метода с альтернативами
[ERROR] (x$1: org.slf4j.Marker,x$2: String,x$3: Object*)Unit <and>
[ERROR] (x$1: org.slf4j.Marker,x$2: String,x$3: Any,x$4: Any)Unit <and>
[ERROR] (x$1: String,x$2: Object*)Unit
[ERROR] cannot be applied to (String, Long, Integer, Long)
[ERROR] logger.info("record latency: {}, record KafkaPartition: {}, record Offset: {}", latency, record.kafkaPartition(), record.kafkaOffset())
[ERROR] ^
[ERROR] one error found