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 logTraceFilterRegistration() { FilterRegistrationBean 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); } }