将 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,并且按预期工作。
我有一个 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,并且按预期工作。