package com.qianwen.core.log.config;
|
|
import javax.servlet.DispatcherType;
|
import com.qianwen.core.launch.props.BladeProperties;
|
import com.qianwen.core.launch.props.BladePropertySource;
|
import com.qianwen.core.launch.server.ServerInfo;
|
import com.qianwen.core.log.aspect.ApiLogAspect;
|
import com.qianwen.core.log.aspect.LogTraceAspect;
|
import com.qianwen.core.log.event.ApiLogListener;
|
import com.qianwen.core.log.event.ErrorLogListener;
|
import com.qianwen.core.log.event.UsualLogListener;
|
import com.qianwen.core.log.feign.ILogClient;
|
import com.qianwen.core.log.filter.LogTraceFilter;
|
import com.qianwen.core.log.logger.BladeLogger;
|
import com.qianwen.core.log.props.BladeRequestLogProperties;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
@EnableConfigurationProperties({BladeRequestLogProperties.class})
|
@Configuration(proxyBeanMethods = false)
|
@BladePropertySource("classpath:/blade-log.yml")
|
@ConditionalOnWebApplication
|
/* loaded from: blade-starter-log-9.3.0.0-SNAPSHOT.jar:org/springblade/core/log/config/BladeLogToolAutoConfiguration.class */
|
public class BladeLogToolAutoConfiguration {
|
@Bean
|
public ApiLogAspect apiLogAspect() {
|
return new ApiLogAspect();
|
}
|
|
@Bean
|
public LogTraceAspect logTraceAspect() {
|
return new LogTraceAspect();
|
}
|
|
@Bean
|
public BladeLogger bladeLogger() {
|
return new BladeLogger();
|
}
|
|
@Bean
|
public FilterRegistrationBean<LogTraceFilter> logTraceFilterRegistration() {
|
FilterRegistrationBean<LogTraceFilter> registration = new FilterRegistrationBean<>();
|
registration.setDispatcherTypes(DispatcherType.REQUEST, new DispatcherType[0]);
|
registration.setFilter(new LogTraceFilter());
|
registration.addUrlPatterns(new String[]{"/*"});
|
registration.setName("LogTraceFilter");
|
registration.setOrder(Integer.MAX_VALUE);
|
return registration;
|
}
|
|
@ConditionalOnMissingBean(name = {"apiLogListener"})
|
@Bean
|
public ApiLogListener apiLogListener(ILogClient logService, ServerInfo serverInfo, BladeProperties bladeProperties) {
|
return new ApiLogListener(logService, serverInfo, bladeProperties);
|
}
|
|
@ConditionalOnMissingBean(name = {"errorEventListener"})
|
@Bean
|
public ErrorLogListener errorEventListener(ILogClient logService, ServerInfo serverInfo, BladeProperties bladeProperties) {
|
return new ErrorLogListener(logService, serverInfo, bladeProperties);
|
}
|
|
@ConditionalOnMissingBean(name = {"usualEventListener"})
|
@Bean
|
public UsualLogListener usualEventListener(ILogClient logService, ServerInfo serverInfo, BladeProperties bladeProperties) {
|
return new UsualLogListener(logService, serverInfo, bladeProperties);
|
}
|
}
|