improved logger

This commit is contained in:
mcrcortex
2025-06-16 19:28:32 +10:00
parent caf2703102
commit 0e98f52580

View File

@@ -14,6 +14,30 @@ public class Logger {
public static boolean SHUTUP = false;
private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger("Voxy");
private static String callClsName() {
String className = "";
if (INSERT_CLASS) {
var stackEntry = new Throwable().getStackTrace()[2];
className = stackEntry.getClassName();
var builder = new StringBuilder();
var parts = className.split("\\.");
for (int i = 0; i < parts.length; i++) {
var part = parts[i];
if (i < parts.length-1) {//-2
builder.append(part.charAt(0)).append(part.charAt(part.length()-1));
} else {
builder.append(part);
}
if (i!=parts.length-1) {
builder.append(".");
}
}
className = builder.toString();
}
return className;
}
public static void error(Object... args) {
if (SHUTUP) {
return;
@@ -24,8 +48,8 @@ public class Logger {
throwable = (Throwable) i;
}
}
var stackEntry = new Throwable().getStackTrace()[1];
String error = (INSERT_CLASS?("["+stackEntry.getClassName()+"]: "):"") + Stream.of(args).map(Logger::objToString).collect(Collectors.joining(" "));
String error = (INSERT_CLASS?("["+callClsName()+"]: "):"") + Stream.of(args).map(Logger::objToString).collect(Collectors.joining(" "));
LOGGER.error(error, throwable);
if (VoxyCommon.IS_IN_MINECRAFT && !VoxyCommon.IS_DEDICATED_SERVER) {
var instance = MinecraftClient.getInstance();
@@ -48,8 +72,7 @@ public class Logger {
throwable = (Throwable) i;
}
}
var stackEntry = new Throwable().getStackTrace()[1];
LOGGER.warn((INSERT_CLASS?("["+stackEntry.getClassName()+"]: "):"") + Stream.of(args).map(Logger::objToString).collect(Collectors.joining(" ")), throwable);
LOGGER.warn((INSERT_CLASS?("["+callClsName()+"]: "):"") + Stream.of(args).map(Logger::objToString).collect(Collectors.joining(" ")), throwable);
}
public static void info(Object... args) {
@@ -62,8 +85,7 @@ public class Logger {
throwable = (Throwable) i;
}
}
var stackEntry = new Throwable().getStackTrace()[1];
LOGGER.info((INSERT_CLASS?("["+stackEntry.getClassName()+"]: "):"") + Stream.of(args).map(Logger::objToString).collect(Collectors.joining(" ")), throwable);
LOGGER.info((INSERT_CLASS?("["+callClsName()+"]: "):"") + Stream.of(args).map(Logger::objToString).collect(Collectors.joining(" ")), throwable);
}
private static String objToString(Object obj) {