LoggerHelper.java
package dev.aura.bungeechat.util;
import dev.aura.bungeechat.BungeeChat;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.logging.Logger;
import lombok.AccessLevel;
import lombok.Cleanup;
import lombok.Getter;
import lombok.experimental.UtilityClass;
import net.md_5.bungee.api.ChatColor;
@UtilityClass
@SuppressFBWarnings(
value = "JLM_JSR166_UTILCONCURRENT_MONITORENTER",
justification = "Code is generated by lombok which means I don't have any influence on it.")
public class LoggerHelper {
@Getter(value = AccessLevel.PRIVATE, lazy = true)
private static final Logger logger = BungeeChat.getInstance().getLogger();
public static void error(String text) {
getLogger().severe(ChatColor.RED + text);
}
public static void error(String text, Throwable t) {
error(text + '\n' + getStackTrace(t));
}
public static String getStackTrace(Throwable t) {
StringWriter sw = new StringWriter();
@Cleanup PrintWriter pw = new PrintWriter(sw);
t.printStackTrace(pw);
return sw.toString();
}
public static void info(String text) {
getLogger().info(text);
}
public static void info(String text, Throwable t) {
info(text + '\n' + getStackTrace(t));
}
public static void warning(String text) {
getLogger().warning(ChatColor.YELLOW + text);
}
public static void warning(String text, Throwable t) {
warning(text + '\n' + getStackTrace(t));
}
}