将 Appender 记录到 Kafter 初始化以减慢记录 Bean init

Log Appender to Kafter initialized to slow to log Bean init

我有一个 Spring-Boot 应用程序正在使用 LogBack 日志记录。 在日志记录中,我配置了一个 Apache Kafka appender。 它工作正常。

但问题是我已经在Bean的@PostConstruct方法中输出了日志。

据我所知,Kafka appender(连接到 Kafka)的初始化不如 Bean 的初始化快。所以我在 bean 的 @PostConstruct 方法中“Bean is initialized”的第一个日志输出丢失了(有时)。

@PostConstruct
void afterInit () throws Exception
{
    Logger logger = LoggerFactory.getLogger ("tokafka");
    logger.info ("started");
}

这是我的 LogBack 附加程序配置。

<appender name="KAFKA" class="com.github.danielwegener.logback.kafka.KafkaAppender">
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <pattern>{"time": "%d{HH:mm:ss.SSS}", "level": "%-5level", "text": "%msg"}</pattern>
    </encoder>
    <topic>asx</topic>
    <keyingStrategy class="com.github.danielwegener.logback.kafka.keying.NoKeyKeyingStrategy"/>
    <deliveryStrategy class="com.github.danielwegener.logback.kafka.delivery.AsynchronousDeliveryStrategy"/>
    <producerConfig>bootstrap.servers=localhost:9092</producerConfig>
    <producerConfig>acks=0</producerConfig>
    <producerConfig>linger.ms=100</producerConfig>
    <producerConfig>max.block.ms=100</producerConfig>
    <producerConfig>buffer.memory=200000</producerConfig>
</appender>


<logger name="tokafka" level="INFO">
  <appender-ref ref="KAFKA" />
</logger>

知道我该如何克服吗?

已将 max.block.ms 增加到 1000,并且按预期工作。