From 91ecd0be8e6fdf5dc8c832bce87ed2e60bb0ed1e Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Fri, 28 Feb 2020 09:22:21 +0100 Subject: [PATCH] [New] Added ExceptionHelper.getCallerMethod(depth) --- .../java/li/strolch/utils/helper/ExceptionHelper.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/li.strolch.utils/src/main/java/li/strolch/utils/helper/ExceptionHelper.java b/li.strolch.utils/src/main/java/li/strolch/utils/helper/ExceptionHelper.java index 7957f9224..7ffc0bb1b 100644 --- a/li.strolch.utils/src/main/java/li/strolch/utils/helper/ExceptionHelper.java +++ b/li.strolch.utils/src/main/java/li/strolch/utils/helper/ExceptionHelper.java @@ -35,7 +35,16 @@ public class ExceptionHelper { * @return the class name and method name of the caller */ public static String getCallerMethod() { - StackTraceElement element = new Throwable().getStackTrace()[1]; + return getCallerMethod(2); + } + + public static String getCallerMethod(int depth) { + // TODO change to StackWalker: +// StackWalker walker = StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE); +// walker.walk(frames -> frames.skip(1) +// .map((StackWalker.StackFrame s) -> s.getDeclaringClass() + "." + s.getMethodName()).findFirst()); + + StackTraceElement element = new Throwable().getStackTrace()[depth]; return element.getClassName() + "." + element.getMethodName(); }