From cfd68bb45e967f15c15de92d78f0c2a8f9cb007b Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Thu, 31 Dec 2020 15:31:50 +0300 Subject: [PATCH] add XLog --- gradle.properties | 2 +- src/main/java/ghast/XLog.java | 76 +++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 src/main/java/ghast/XLog.java diff --git a/gradle.properties b/gradle.properties index fe3fb14..1881f74 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ projectGroup=ghast projectName=ghast-tools -projectVersion=1.3 \ No newline at end of file +projectVersion=1.4 \ No newline at end of file diff --git a/src/main/java/ghast/XLog.java b/src/main/java/ghast/XLog.java new file mode 100644 index 0000000..cbadd99 --- /dev/null +++ b/src/main/java/ghast/XLog.java @@ -0,0 +1,76 @@ +package ghast; + +import lombok.experimental.UtilityClass; + +import java.util.logging.Level; + +import static java.text.MessageFormat.format; + +@UtilityClass +public class XLog { + + //region Debug + public void debug(String pattern, Object... objects) { + if (objects.length > 1 && objects[objects.length - 1] instanceof Throwable) { + Throwable throwable = (Throwable) objects[objects.length - 1]; + Object[] values = new Object[objects.length - 1]; + System.arraycopy(objects, 0, values, 0, values.length); + + debug(format(pattern, values), throwable); + } else { + debug(format(pattern, objects)); + } + } + + public void debug(String message, Throwable throwable) { + GhastTools.getPlugin().getLogger().log(Level.FINE, message, throwable); + } + + public void debug(String message) { + GhastTools.getPlugin().getLogger().fine(message); + } + //endregion + + //region Info + public void info(String pattern, Object... objects) { + info(format(pattern, objects)); + } + + public void info(String message) { + GhastTools.getPlugin().getLogger().info(message); + } + //endregion + + //region Warning + public void warn(String pattern, Object... objects) { + warn(format(pattern, objects)); + } + + public void warn(String message) { + GhastTools.getPlugin().getLogger().warning(message); + } + //endregion + + //region Error + public void error(String pattern, Object... objects) { + if (objects.length > 1 && objects[objects.length - 1] instanceof Throwable) { + Throwable throwable = (Throwable) objects[objects.length - 1]; + Object[] values = new Object[objects.length - 1]; + System.arraycopy(objects, 0, values, 0, values.length); + + error(format(pattern, values), throwable); + } else { + error(format(pattern, objects)); + } + } + + public void error(String message) { + GhastTools.getPlugin().getLogger().severe(message); + } + + public void error(String message, Throwable throwable) { + GhastTools.getPlugin().getLogger().log(Level.SEVERE, message, throwable); + } + //endregion + +}