package jnpf.audit.sdk;
|
|
import org.springframework.beans.factory.ObjectProvider;
|
import org.springframework.boot.ApplicationArguments;
|
import org.springframework.boot.ApplicationRunner;
|
|
/**
|
* SDK 装配自检探针。存在两重价值:
|
* 1) 它本身就是「宿主必须用 ObjectProvider 注入」的示范——audit.enabled=false 时
|
* AuditSdkAutoConfiguration 整套 Bean 缺席(不是 no-op),普通 @Autowired 会让宿主起不来;
|
* 2) 给出可断言的启动产物(tasks/audit-m2-startup-check.sh 双态断言此行)。
|
*
|
* 用 warn 级:平台 logger.yaml 强制 root:ERROR,业务服务内 info 埋点会被压制。
|
*/
|
public class AuditSdkProbe implements ApplicationRunner {
|
|
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(AuditSdkProbe.class);
|
|
private final ObjectProvider<AuditClient> auditClient;
|
private final String appName;
|
|
public AuditSdkProbe(ObjectProvider<AuditClient> auditClient, String appName) {
|
this.auditClient = auditClient;
|
this.appName = appName;
|
}
|
|
@Override
|
public void run(ApplicationArguments args) {
|
log.warn("[AUDIT-SDK] app={} present={}", appName, auditClient.getIfAvailable() != null);
|
}
|
}
|