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

时间:2019-05-08 09:07:33

标签: maven-3 spring-webflux project-reactor java-11 spring-logback

我是否需要担心在Logback顶部使用Slf4j登录到控制台是一项阻塞操作?

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

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

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

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]

1 个答案:

答案 0 :(得分:4)

ch.qos.Logback.classic.AsyncAppender可能适合您的情况。它异步地将日志委托给常规附加程序,而不会阻塞执行的主线程。
下面的SO线程对它的优缺点进行了很好的描述: When not to use AsyncAppender in logback by default