java - 使用 slf4j 的 Project Reactor 非阻塞日志记录

标签 java reactive-programming logback spring-webflux project-reactor

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

最佳答案

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

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

<!-- Wrap calls to the logger. -->
<appender name="asyncFile" class="reactor.logback.AsyncAppender">
  <appender-ref ref="FILE"/>
</appender>

我找到了这个信息here .

关于java - 使用 slf4j 的 Project Reactor 非阻塞日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51778229/

相关文章:

java - 从 Lucene 3.0 迁移到 4.9.0

java - 创建大文件(> 1GB)的最有效方法

Java程序名显示

android - WebSocket 和 Rx Java

Spring 5 Web Reactive - 我们如何使用 WebClient 在 Flux 中检索流数据?

rx-java - 单流和多个订阅者

tomcat:强制 logback 配置来自系统路径,而不是来自内部 war ?

java - 如何清除用户控制台?

java - 使用 JMS 和 logback 的分布式日志记录

java - 制作自定义 SLF4J 记录器