我有一个休息控制器。我想为文件写入响应以进行跟踪,但是我不希望控制器等到写入完成。我们如何让控制器立即返回响应并将写入响应发布到文件。我尝试将 write 方法设为 @Async 但控制器在写入完成之前不会返回响应。知道我们如何实现这一目标吗?
答案 0 :(得分:0)
Logback 是 spinrg 启动中的默认记录器。使用异步 appender。像下面这样的东西。您可以在发送回之前记录响应,logback 将处理其余的。
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>myapp.log</file>
<encoder>
<pattern>%logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="FILE" />
</appender>
<root level="DEBUG">
<appender-ref ref="ASYNC" />
</root>
</configuration>