1.定义注解-LocalMethod
@Target(value = {ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface LocalMethod {
String uid() default "";
}
2.定义注解切入处理逻辑
public class BaseLog {
private static final Logger log = LoggerFactory.getLogger(BaseLog.class);
protected String localMethodLog() {
Class clazz = this.getClass();
String uid = "";
try {
Method[] methods = clazz.getDeclaredMethods();
StackTraceElement[] stacks = new Exception().getStackTrace();
String methodName = stacks[1].getMethodName();
log.debug("methodName-{}", methodName);
for (Method method : methods) {
if (method.isAnnotationPresent(LocalMethod.class) && method.getName().equals(methodName)) {
LocalMeth