All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.healthy.common.log.operation.handler.OperationLogHandler Maven / Gradle / Ivy

There is a newer version: 2.0.0-M1
Show newest version
package com.healthy.common.log.operation.handler;

import com.healthy.common.log.operation.annotation.OperationLogging;
import org.aspectj.lang.ProceedingJoinPoint;

/**
 * 操作日志业务处理器
 *
 * @author xm.z
 */
public interface OperationLogHandler {

	/**
	 * 创建操作日志
	 * @param operationLogging 操作日志注解
	 * @param joinPoint 当前执行方法的切点信息
	 * @return T 操作日志对象
	 */
	T buildLog(OperationLogging operationLogging, ProceedingJoinPoint joinPoint);

	/**
	 * 目标方法执行完成后进行信息补充记录, 如执行时长,异常信息,还可以通过切点记录返回值,如果需要的话
	 * @param log 操作日志对象 {@link #buildLog}
	 * @param joinPoint 当前执行方法的切点信息
	 * @param executionTime 方法执行时长
	 * @param throwable 方法执行的异常,为 null 则表示无异常
	 * @param isSaveResult 是否记录返回值
	 * @param result 方法执行的返回值
	 * @return T 操作日志对象
	 */
	T recordExecutionInfo(T log, ProceedingJoinPoint joinPoint, long executionTime, Throwable throwable,
			boolean isSaveResult, Object result);

	/**
	 * 处理日志,可以在这里进行存储,或者输出
	 * @param operationLog 操作日志
	 */
	void handleLog(T operationLog);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy