Project Reactor 使用 slf4j 进行非阻塞日志记录

kri*_*ver 6 java logback reactive-programming project-reactor spring-webflux

Project Reactor 中的log()方法Flux.class提到,如果slf4j可用,它将被使用。如果你使用像logbackslf4j这样的记录器实现,它们默认是阻塞的,尤其是写入文件/磁盘部分。Reactor 文档没有提及任何关于此的内容。有没有人对此有想法/经验?我认为一种选择是将 logback 设置为异步。还有其他选择吗?谢谢!

mio*_*mio 1

我不确定这是否是您问题的答案,但通过使用reactor-logback我假设我正在异步记录。

我添加了以下日志配置(logback-spring.xml示例)

<!-- Wrap calls to the logger. -->
<appender name="asyncFile" class="reactor.logback.AsyncAppender">
  <appender-ref ref="FILE"/>
</appender>
Run Code Online (Sandbox Code Playgroud)

我在这里找到了这个信息。