com.biz.operation.log.configuration.BizXOperationLogConfiguration Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of biz-all Show documentation
Show all versions of biz-all Show documentation
BizX 是一个灵活而高效的业务开发框架, 其中也有很多为业务开发所需要的工具类的提供。
The newest version!
package com.biz.operation.log.configuration;
import com.biz.operation.log.OperationLogAspect;
import com.biz.operation.log.handler.DefaultOperationLogHandler;
import com.biz.operation.log.handler.OperationLogHandler;
import com.biz.operation.log.handler.OperationLogHandlerFactory;
import com.biz.operation.log.processor.OperationLogProcessor;
import com.biz.operation.log.recorder.OperationLogRecorder;
import com.biz.operation.log.replace.ContentReplacer;
import com.biz.operation.log.replace.DefaultContentReplacerProcessor;
import com.biz.operation.log.store.DefaultOperationLogUserContext;
import com.biz.operation.log.store.OperationLogUserContext;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
/**
* 配置类,负责操作日志的自动配置。
*
* 该配置类提供了默认的操作日志处理器、用户存储服务以及日志记录器的Bean。
*
* 当配置文件中设置了 {@code biz.operation.log.enabled=true} 时,
* 本配置类中的Bean才会生效。
*
* 此配置类主要包含以下几个核心Bean:
*
* - {@link OperationLogUserContext}:用户存储服务接口的默认实现。
* - {@link OperationLogHandler}:操作日志处理器接口的默认实现。
* - {@link ContentReplacer}:日志内容替换器的默认实现。
* - {@link OperationLogHandlerFactory}:操作日志处理器工厂。
* - {@link OperationLogRecorder}:操作日志记录器。
* - {@link OperationLogProcessor}:日志处理前的操作处理器。
* - {@link OperationLogAspect}:操作日志拦截器,用于记录操作日志。
*
*
* @see DefaultOperationLogHandler
* @see DefaultOperationLogUserContext
* @see OperationLogAspect
* @author francis
* @since 1.0.0
* @version 1.0.0
*/
@ConditionalOnProperty(prefix = "biz.operation.log", name = "enabled", havingValue = "true")
public class BizXOperationLogConfiguration {
/**
* 创建一个默认的 OperationLogUserContext 实例。
*
* 如果 Spring 上下文中不存在自定义的 OperationLogUserContext Bean,
* 则会使用该方法提供的默认实现。
*
* @return 默认的 OperationLogUserContext 实例
* @see DefaultOperationLogUserContext
*/
@Bean
@ConditionalOnMissingBean(OperationLogUserContext.class)
public OperationLogUserContext operationLogUserStore() {
return new DefaultOperationLogUserContext();
}
/**
* 创建一个默认的 OperationLogHandler 实例。
*
* 如果 Spring 上下文中不存在自定义的 OperationLogHandler Bean,
* 则会使用该方法提供的默认实现。
*
* @return 默认的 OperationLogHandler 实例
* @see DefaultOperationLogHandler
*/
@Bean
@ConditionalOnMissingBean(OperationLogHandler.class)
public OperationLogHandler operationLogHandler() {
return new DefaultOperationLogHandler();
}
/**
* 创建一个 ContentReplacer 实例,用于替换日志内容中的信息。
*
* @return 默认的 ContentReplacer 实例
* @see DefaultContentReplacerProcessor
*/
@Bean
public ContentReplacer contentReplacer() {
return new DefaultContentReplacerProcessor();
}
/**
* 创建一个 OperationLogHandlerFactory 实例,用于管理和提供操作日志处理器。
*
* @param operationLogHandler 默认的操作日志处理器
* @return OperationLogHandlerFactory 实例
* @see OperationLogHandlerFactory
*/
@Bean
public OperationLogHandlerFactory operationLogHandlerFactory(OperationLogHandler operationLogHandler) {
return new OperationLogHandlerFactory(operationLogHandler);
}
/**
* 创建一个 OperationLogRecorder 实例,用于记录操作日志。
*
* @param operationLogHandlerFactory 日志处理器工厂
* @param operationLogUserContext 用户存储服务
* @return OperationLogRecorder 实例
* @see OperationLogRecorder
*/
@Bean
public OperationLogRecorder operationLogRecorder(OperationLogHandlerFactory operationLogHandlerFactory, OperationLogUserContext operationLogUserContext) {
return new OperationLogRecorder(operationLogHandlerFactory, operationLogUserContext);
}
/**
* 创建一个 OperationLogProcessor 实例,用于处理日志记录前的操作。
*
* @param operationLogRecorder 日志记录器
* @param contentReplacer 内容替换器
* @return OperationLogProcessor 实例
* @see OperationLogProcessor
*/
@Bean
public OperationLogProcessor operationLogProcessor(OperationLogRecorder operationLogRecorder, ContentReplacer contentReplacer) {
return new OperationLogProcessor(operationLogRecorder, contentReplacer);
}
/**
* 创建一个 OperationLogAspect 实例,用于拦截和记录操作日志。
*
* @param operationLogProcessor 日志处理器
* @return OperationLogAspect 实例
* @see OperationLogAspect
*/
@Bean
public OperationLogAspect operationLogAspect(OperationLogProcessor operationLogProcessor) {
return new OperationLogAspect(operationLogProcessor);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy