From 5b6125bec2352fe9dbc39f3df547cf18c03482c0 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Tue, 22 Jun 2021 07:54:00 +0200 Subject: [PATCH] [DEV] remove error of backtrace --- src/io/scenarium/logger/Logger.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/io/scenarium/logger/Logger.java b/src/io/scenarium/logger/Logger.java index 9ca2666..7386164 100644 --- a/src/io/scenarium/logger/Logger.java +++ b/src/io/scenarium/logger/Logger.java @@ -163,7 +163,22 @@ public class Logger { } private static StackTraceElement getCallerElement() { - return Thread.currentThread().getStackTrace()[5]; + if (Thread.currentThread().getStackTrace().length > 5) { + return Thread.currentThread().getStackTrace()[5]; + } + if (Thread.currentThread().getStackTrace().length > 4) { + return Thread.currentThread().getStackTrace()[4]; + } + if (Thread.currentThread().getStackTrace().length > 3) { + return Thread.currentThread().getStackTrace()[3]; + } + if (Thread.currentThread().getStackTrace().length > 2) { + return Thread.currentThread().getStackTrace()[2]; + } + if (Thread.currentThread().getStackTrace().length > 1) { + return Thread.currentThread().getStackTrace()[1]; + } + return Thread.currentThread().getStackTrace()[0]; } /** This function permit to get the printable string to print in the log element (select here the number of char to print)