yangys
2024-03-27 e48aa2ac8dea1be5db11c63edf0b912c4ad5ce65
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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);
    }
}