LogUtils工具类

java 复制代码
/**
 * @description:
 * @author: 
 * @create: 2023/10/23 19:52
 **/
public class LogUtils {

    public static void enter() {
        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
        StackTraceElement stackTraceElement = stackTrace[stackTrace.length - 2];
        String callerMethodName = stackTraceElement.getMethodName();
        // 判断是否不是lambda表达式
        if (callerMethodName.startsWith("lambda$")) {
            stackTraceElement = stackTrace[stackTrace.length - 1];
            callerMethodName = stackTraceElement.getMethodName();
        }
        try {
            Class<?> aClass = ClassUtils.forName(stackTraceElement.getClassName(), null);
            LoggerFactory.getLogger(aClass).info("Enter Method: {}", callerMethodName);
        } catch (ClassNotFoundException ignored) {
        }
    }
}

测试类

java 复制代码
public static void main(String[] args) {
   Runnable runnable = () -> LogUtils.enter();
   runnable.run();
}
相关推荐
Maiko Star几秒前
跑通第一个Spring AI 应用
java·后端·spring·springai
2501_913061341 分钟前
网络原理知识(8)
java·网络·面试
木易 士心6 分钟前
云数据库 Clouder 认证:SQL 基础开发与应用题型分析
数据库·后端·sql·oracle
Java女侠_9年实战7 分钟前
==与equals()混用陷阱,以及Integer缓存池原理和使用场景
后端
我命由我123458 分钟前
Android 广播 - 显式广播与隐式广播
android·java·开发语言·java-ee·kotlin·android studio·android-studio
SimonKing9 分钟前
frontend-dev vs ui-ux-pro-max:谁才是Vibe Coding前端开发的“最强辅助”?
java·后端·程序员
小谢小哥11 分钟前
57-数据同步方案详解
java·后端·架构
神奇小汤圆12 分钟前
线程池总被问住?看完这篇,彻底吃透ThreadPoolExecutor
后端
小谢小哥12 分钟前
56-最终一致性方案详解
java·后端·架构
二哈赛车手13 分钟前
新人笔记---ES和kibana启动问题以及一些常用的linux的错误排查方法
后端