/** * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). *

* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE; * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *

* http://www.gnu.org/licenses/lgpl.html *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springblade.core.log.config; import lombok.AllArgsConstructor; import org.springblade.core.log.aspect.ApiLogAspect; import org.springblade.core.log.event.ApiLogListener; import org.springblade.core.log.event.BladeLogListener; import org.springblade.core.log.event.ErrorLogListener; import org.springblade.core.log.logger.BladeLogger; import org.springblade.core.launch.props.BladeProperties; import org.springblade.core.launch.server.ServerInfo; import org.springblade.core.log.feign.ILogClient; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * 日志工具自动配置 */ @Configuration @AllArgsConstructor @ConditionalOnWebApplication public class BladeLogToolAutoConfiguration { private final ILogClient logService; private final ServerInfo serverInfo; private final BladeProperties bladeProperties; @Bean public ApiLogAspect apiLogAspect() { return new ApiLogAspect(); } @Bean public BladeLogger bladeLogger() { return new BladeLogger(); } @Bean public ApiLogListener apiLogListener() { return new ApiLogListener(logService, serverInfo, bladeProperties); } @Bean public ErrorLogListener errorEventListener() { return new ErrorLogListener(logService, serverInfo, bladeProperties); } @Bean public BladeLogListener bladeEventListener() { return new BladeLogListener(logService, serverInfo, bladeProperties); } }