package com.vincent.rsf.httpaudit.service;
|
|
import com.vincent.rsf.httpaudit.entity.HttpAuditLog;
|
import org.springframework.scheduling.annotation.Async;
|
|
import java.util.List;
|
|
/**
|
* 异步写入已配置的日志目标;单路失败不影响其他路与业务
|
*/
|
public class HttpAuditAsyncRecorder {
|
|
private final List<HttpAuditLogSink> sinks;
|
|
public HttpAuditAsyncRecorder(List<HttpAuditLogSink> sinks) {
|
this.sinks = sinks;
|
}
|
|
@Async("httpAuditExecutor")
|
public void save(HttpAuditLog entity) {
|
for (HttpAuditLogSink sink : sinks) {
|
sink.write(entity);
|
}
|
}
|
}
|