From 0276a34d013ebfd42ba87fd66a4ebb416927e718 Mon Sep 17 00:00:00 2001 From: Yannic Link Date: Sun, 4 Apr 2021 19:19:36 +0200 Subject: [PATCH] Logging auf 4 Methoden aufgeteilt, damit nicht immer der Typ mitgenommen werden muss. --- .../audio/AudioLoadResultHandlerImpl.java | 6 +-- .../yoshibot/command/commands/SayCommand.java | 2 +- .../de/yannicpunktdee/yoshibot/main/Main.java | 4 +- .../yoshibot/main/YoshiBot.java | 4 +- .../yannicpunktdee/yoshibot/utils/Logger.java | 49 ++++++++++++++----- .../yoshibot/utils/Resources.java | 31 ++++++------ .../yoshibot/utils/SauceProvider.java | 11 ++--- 7 files changed, 64 insertions(+), 43 deletions(-) diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioLoadResultHandlerImpl.java b/app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioLoadResultHandlerImpl.java index ed1dee8..d61fb25 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioLoadResultHandlerImpl.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioLoadResultHandlerImpl.java @@ -17,17 +17,17 @@ public class AudioLoadResultHandlerImpl implements AudioLoadResultHandler { @Override public void playlistLoaded(AudioPlaylist playlist) { - System.out.println("Kann aktuell noch keine Playlists abspielen"); + Logger.logWarning("Aktuell kann noch keine Playlist abgespielt werden."); } @Override public void noMatches() { - Logger.log("Nothing found", Logger.Type.INFO); + Logger.logError("Nothing found"); } @Override public void loadFailed(FriendlyException exception) { - System.out.println("Loading failed"); + Logger.logError("Loading failed"); } } diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java b/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java index a1f6eda..3039846 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java @@ -48,7 +48,7 @@ public class SayCommand extends YoshiCommand { builder.append(line).append("\n"); } if (builder.toString().length() > 0) { - Logger.log(builder.toString(), Logger.Type.ERROR); + Logger.logError(builder.toString()); } if (resourceToDelete != null) synchronized (resourceToDelete) { diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/main/Main.java b/app/src/main/java/de/yannicpunktdee/yoshibot/main/Main.java index 9dcb5b7..46ab83c 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/main/Main.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/main/Main.java @@ -20,11 +20,11 @@ public class Main { YoshiBot yoshiBot = YoshiBot.getInstance(); if(!yoshiBot.init((args.length > 0)? args[0] : null)){ - Logger.log("Es ist ein Fehler beim Initialisieren der Ressourcen aufgetreten.", Logger.Type.ERROR); + Logger.logError("Es ist ein Fehler beim Initialisieren der Ressourcen aufgetreten."); return; } - Logger.log("Ressourcen erfolgreich initialisiert. Starte Yoshi Bot ...", Logger.Type.INFO); + Logger.logInfo("Ressourcen erfolgreich initialisiert. Starte Yoshi Bot ..."); try { yoshiBot.start(); diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java b/app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java index 10002dd..d176587 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java @@ -92,7 +92,7 @@ public final class YoshiBot { try { jda.awaitReady(); } catch (InterruptedException e) { - Logger.log("Konnte nicht auf jda warten. Thread unterbrochen.", Logger.Type.ERROR); + Logger.logError("Konnte nicht auf jda warten. Thread unterbrochen."); return; } @@ -146,7 +146,7 @@ public final class YoshiBot { List text = Files.readAllLines(new File(Resources.getActivitiesPath()).toPath()); String activity = text.get(yoshiBot.random.nextInt(text.size())); yoshiBot.jda.getPresence().setActivity(Activity.playing(activity)); - Logger.log("Setze Aktivität auf " + activity, Logger.Type.INFO); + Logger.logInfo("Setze Aktivität auf " + activity); } } diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Logger.java b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Logger.java index 9c6bf1b..b28fc0b 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Logger.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Logger.java @@ -1,20 +1,43 @@ package de.yannicpunktdee.yoshibot.utils; public final class Logger { - - public enum Type { - INFO, - WARNING, - ERROR + + private static final String ANSI_RESET = "\u001B[0m"; + private static final String ANSI_GREEN = "\u001B[32m"; + private static final String ANSI_YELLOW = "\u001B[33m"; + private static final String ANSI_BLUE = "\u001B[34m"; + + + public static void logDebug(String message){ + System.out.println(String.format("%s[%tT: Yoshi::DEBUG] %s%s", + ANSI_GREEN, + System.currentTimeMillis(), + message, + ANSI_RESET)); } - - - public static void log(String message, Type type) { - String text = String.format("[%tT: Yoshi::%s] %s", - System.currentTimeMillis(), - (type == null ? Type.INFO : type), - message); - System.out.println(text); + + public static void logInfo(String message){ + System.out.println(String.format("%s[%tT: Yoshi::INFO] %s%s", + ANSI_BLUE, + System.currentTimeMillis(), + message, + ANSI_RESET)); + } + + public static void logWarning(String message){ + System.out.println(String.format("%s[%tT: Yoshi::WARNING] %s%s", + ANSI_YELLOW, + System.currentTimeMillis(), + message, + ANSI_RESET)); + } + + public static void logError(String message){ + System.err.println(String.format("%s[%tT: Yoshi::ERROR] %s%s", + ANSI_YELLOW, + System.currentTimeMillis(), + message, + ANSI_RESET)); } } diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java index 19156f5..e4395ea 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java @@ -1,7 +1,6 @@ package de.yannicpunktdee.yoshibot.utils; import de.yannicpunktdee.yoshibot.main.YoshiBot; -import de.yannicpunktdee.yoshibot.utils.Logger.Type; import lombok.Getter; import lombok.SneakyThrows; import org.json.JSONArray; @@ -79,14 +78,14 @@ public final class Resources { if (isOk) isOk = initPatPngPath(); if (isOk) isOk = initImages(); - if (isOk) Logger.log("Die Konfigurationen wurden erfolgreich geladen.", Type.INFO); - else Logger.log("Die Konfiguration konnte nicht geladen werden", Type.ERROR); + if (isOk) Logger.logInfo("Die Konfigurationen wurden erfolgreich geladen."); + else Logger.logError("Die Konfiguration konnte nicht geladen werden"); return isOk; } private static boolean initResources(String resourcePathArg) { - Logger.log("Versuche Resource-Verzeichnis zu finden.", Type.INFO); + Logger.logInfo("Versuche Resource-Verzeichnis zu finden."); resourcePath = (new File((resourcePathArg == null) ? "rsc" : resourcePathArg)).getAbsolutePath() .replace('\\', '/') + "/"; @@ -118,7 +117,7 @@ public final class Resources { } private static boolean initTemp() { - Logger.log("Versuche Temp-Verzeichnis zu finden.", Type.INFO); + Logger.logInfo("Versuche Temp-Verzeichnis zu finden."); String theoreticalTempPath = System.getProperty("java.io.tmpdir").replace('\\', '/') + "/yoshibot/"; @@ -131,7 +130,7 @@ public final class Resources { if (tempDir.mkdir()) { return verifyExists(tempDir.getAbsolutePath(), File::isDirectory) != null; } else { - Logger.log("Temp-Verzeichnis konnte nicht erstellt werden.", Type.ERROR); + Logger.logError("Temp-Verzeichnis konnte nicht erstellt werden."); return false; } } @@ -140,7 +139,7 @@ public final class Resources { File tempDirFile = new File(tempPath); if (!tempDirFile.isDirectory()) { if (!new File(tempPath).mkdir()) { - Logger.log("TempPath konnte nicht erstellt werden", Type.ERROR); + Logger.logError("TempPath konnte nicht erstellt werden"); } } return tempPath + name + ".opus"; @@ -167,7 +166,7 @@ public final class Resources { return false; } jda_builder_string = Files.readAllLines(new File(resourcePath + "PrivateJdaBuilderString.txt").toPath()).get(0); - Logger.log("jda_builder_string erfolgreich geladen", Type.INFO); + Logger.logInfo("jda_builder_string erfolgreich geladen"); return true; } @@ -178,17 +177,17 @@ public final class Resources { private static boolean initGuildId() { if (!propertiesFile.containsKey("guild_id")) { - Logger.log("Die Config.properties benötigt das Attribut guild_id.", Type.ERROR); + Logger.logError("Die Config.properties benötigt das Attribut guild_id."); return false; } String raw = propertiesFile.getProperty("guild_id"); try { guild_id = Long.parseLong(raw); } catch (NumberFormatException e) { - Logger.log("Die angegebene guild_id ist keine Ganzzahl", Type.ERROR); + Logger.logError("Die angegebene guild_id ist keine Ganzzahl"); return false; } - Logger.log("guild_id erfolgreich geladen", Type.INFO); + Logger.logInfo("guild_id erfolgreich geladen"); return true; } @@ -257,7 +256,7 @@ public final class Resources { return false; } - Logger.log("tags_general_filter erfolgreich geladen", Type.INFO); + Logger.logInfo("tags_general_filter erfolgreich geladen"); return true; } @@ -268,21 +267,21 @@ public final class Resources { } if (new File(resourcePath + "image/").mkdir()) { imagePath = verifyExists(resourcePath + "image/", File::isDirectory); - Logger.log("Bildordner erzeugt", Type.INFO); + Logger.logInfo("Bildordner erzeugt"); return true; } else { - Logger.log("Konnte Bildordner nicht erzeugen!", Type.ERROR); + Logger.logError("Konnte Bildordner nicht erzeugen!"); return false; } } private static String verifyExists(String filename, Function checkIsValidFile) { String[] split = filename.split("/"); - Logger.log(String.format("Versuche %s zu finden.", split[split.length - 1]), Type.INFO); + Logger.logInfo(String.format("Versuche %s zu finden.", split[split.length - 1])); if (checkIsValidFile.apply(new File(filename))) { return filename; } else { - Logger.log(String.format("%s konnte nicht gefunden werden", filename), Type.ERROR); + Logger.logError(String.format("%s konnte nicht gefunden werden", filename)); return null; } } diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java index e76affd..31cf8fe 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java @@ -53,7 +53,7 @@ public class SauceProvider { tags += "+" + String.join("+", Resources.getFilteredTags()); Random rand = YoshiBot.getInstance().getRandom(); String url = BASE_URL + "posts?tags=" + String.join("+", tags); - Logger.log("Soße angefordert für tags " + tags, Logger.Type.INFO); + Logger.logInfo("Soße angefordert für tags " + tags); JSONObject baseObj = getParsedSauceData(url); int amount = baseObj.getInt("count"); if (amount == 0) { @@ -95,17 +95,16 @@ public class SauceProvider { for (JSONObject post : postsInternal) { List channels = yoshiBot.jda.getTextChannelsByName(feed.getKey(), true); if (channels.size() == 0) { - Logger.log("Kein Kanal mit dem Namen " + feed.getKey() + "gefunden", Logger.Type.ERROR); + Logger.logError("Kein Kanal mit dem Namen " + feed.getKey() + "gefunden"); break; } else if (!channels.get(0).isNSFW()) { - Logger.log("Kanal " + feed.getKey() + " ist nicht als NSFW markiert!", Logger.Type.ERROR); + Logger.logError("Kanal " + feed.getKey() + " ist nicht als NSFW markiert!"); break; } channels.get(0).sendMessage(makeStringFromJson(post)).queue(); } if (postsInternal.size() > 0) { - Logger.log(String.format("Found %d posts for feed '%s'", postsInternal.size(), feed.getKey()), - Logger.Type.INFO); + Logger.logInfo(String.format("Found %d posts for feed '%s'", postsInternal.size(), feed.getKey())); } } @@ -125,7 +124,7 @@ public class SauceProvider { this.isSauceInit = true; this.provideSauce(); } else { - Logger.log("Konnte keine Kanaäle finden für die Soße", Logger.Type.ERROR); + Logger.logError("Konnte keine Kanaäle finden für die Soße"); } } }