在 Spring Webflux 中记录非阻塞操作?

Is logging a non-blocking operation in Spring Webflux?

我是否需要担心登录到控制台,在 Logback 之上使用 Slf4j,是一个阻塞操作?

我不确定,所以我一直在使用 reactor.logback.AsyncAppender 来自 io.projectreactor.addons:reactor-logback:3.2.3-RELEASE

我现在遇到的问题是我无法使用 Maven 编译我的代码,因为无法满足对 com.sun.java:tools:11-internal 的传递依赖。我不确定如何解决这个问题,所以现在质疑我是否需要这个库。

使用 Spring-boot 2.1.4-RELEASE 和 OpenJDK 11.0.3 与 Maven 3.6.0

Maven 错误:

[ERROR] Failed to execute goal on project yooblr-web: Could not resolve dependencies for project com.yooblr:yooblr-web:jar:1.0.0-SNAPSHOT: Could not find artifact com.sun.java:tools:jar:11.0.3 at specified path /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/../lib/tools.jar -> [Help 1]

ch.qos.Logback.classic.AsyncAppender 可能适合您的情况。它异步地将日志记录委托给常规附加程序,而不会阻塞执行的主线程。
它的 pros/cons 在以下 SO 线程中有很好的描述: