package com.iailab.framework.apilog.core.service;
|
|
import com.iailab.module.infra.api.logger.ApiAccessLogApi;
|
import com.iailab.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.scheduling.annotation.Async;
|
|
/**
|
* API 访问日志 Framework Service 实现类
|
*
|
* 基于 {@link ApiAccessLogApi} 服务,记录访问日志
|
*
|
* @author iailab
|
*/
|
@RequiredArgsConstructor
|
@Slf4j
|
public class ApiAccessLogFrameworkServiceImpl implements ApiAccessLogFrameworkService {
|
|
private final ApiAccessLogApi apiAccessLogApi;
|
|
@Override
|
@Async
|
public void createApiAccessLog(ApiAccessLogCreateReqDTO reqDTO) {
|
try {
|
apiAccessLogApi.createApiAccessLog(reqDTO);
|
} catch (Throwable ex) {
|
// 由于 @Async 异步调用,这里打印下日志,更容易跟进
|
log.error("[createApiAccessLog][url({}) log({}) 发生异常]", reqDTO.getRequestUrl(), reqDTO, ex);
|
}
|
}
|
|
}
|