2525import org .slf4j .LoggerFactory ;
2626import org .springframework .beans .factory .ObjectProvider ;
2727import org .springframework .boot .autoconfigure .AutoConfigureAfter ;
28+ import org .springframework .boot .autoconfigure .cache .CacheManagerCustomizer ;
29+ import org .springframework .boot .autoconfigure .cache .CacheManagerCustomizers ;
2830import org .springframework .boot .autoconfigure .condition .ConditionalOnClass ;
2931import org .springframework .boot .autoconfigure .condition .ConditionalOnMissingBean ;
3032import org .springframework .boot .autoconfigure .condition .ConditionalOnProperty ;
3840import org .springframework .util .ObjectUtils ;
3941
4042import java .util .List ;
43+ import java .util .stream .Collectors ;
4144
4245import static org .minbox .framework .api .boot .autoconfigure .logging .ApiBootLoggingProperties .API_BOOT_LOGGING_PREFIX ;
4346
@@ -74,18 +77,24 @@ public ApiBootLoggingAutoConfiguration(ApiBootLoggingProperties apiBootLoggingPr
7477 this .apiBootLoggingProperties = apiBootLoggingProperties ;
7578 }
7679
80+ @ Bean
81+ @ ConditionalOnMissingBean
82+ public LoggingFactoryBeanCustomizers loggingFactoryBeanCustomizers (ObjectProvider <LoggingFactoryBeanCustomizer > customizers ) {
83+ return new LoggingFactoryBeanCustomizers (customizers .orderedStream ().collect (Collectors .toList ()));
84+ }
85+
7786 /**
7887 * logging factory bean
7988 * {@link LoggingFactoryBean}
8089 *
8190 * @param loggingAdminDiscoveryObjectProvider Logging Admin Discovery Instance Provider
82- * @param customizerObjectProvider LoggingFactory Bean Customizer
91+ * @param customizers LoggingFactory Bean Customizers
8392 * @return LoggingFactoryBean
8493 */
8594 @ Bean
8695 @ ConditionalOnMissingBean
8796 public LoggingFactoryBean loggingFactoryBean (ObjectProvider <LoggingAdminDiscovery > loggingAdminDiscoveryObjectProvider ,
88- ObjectProvider < List < LoggingFactoryBeanCustomizer >> customizerObjectProvider ) {
97+ LoggingFactoryBeanCustomizers customizers ) {
8998 LoggingFactoryBean factoryBean = new LoggingFactoryBean ();
9099 factoryBean .setIgnorePaths (apiBootLoggingProperties .getIgnorePaths ());
91100 factoryBean .setIgnoreHttpStatus (apiBootLoggingProperties .getIgnoreHttpStatus ());
@@ -97,12 +106,8 @@ public LoggingFactoryBean loggingFactoryBean(ObjectProvider<LoggingAdminDiscover
97106 factoryBean .setShowConsoleLog (apiBootLoggingProperties .isShowConsoleLog ());
98107 factoryBean .setFormatConsoleLog (apiBootLoggingProperties .isFormatConsoleLogJson ());
99108
100- List <LoggingFactoryBeanCustomizer > customizers = customizerObjectProvider .getIfAvailable ();
101- if (!ObjectUtils .isEmpty (customizers )) {
102- customizers .stream ().forEach (customizer -> customizer .customize (factoryBean ));
103- }
104109 logger .info ("【LoggingFactoryBean】init successfully." );
105- return factoryBean ;
110+ return customizers . customize ( factoryBean ) ;
106111 }
107112
108113 /**
0 commit comments