Browse Source

Logging auf 4 Methoden aufgeteilt, damit nicht immer der Typ mitgenommen werden muss.

pull/2/head
Yannic Link 4 years ago
parent
commit
0276a34d01
7 changed files with 64 additions and 43 deletions
  1. +3
    -3
      app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioLoadResultHandlerImpl.java
  2. +1
    -1
      app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java
  3. +2
    -2
      app/src/main/java/de/yannicpunktdee/yoshibot/main/Main.java
  4. +2
    -2
      app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java
  5. +36
    -13
      app/src/main/java/de/yannicpunktdee/yoshibot/utils/Logger.java
  6. +15
    -16
      app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java
  7. +5
    -6
      app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java

+ 3
- 3
app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioLoadResultHandlerImpl.java View File

@ -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");
}
}

+ 1
- 1
app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java View File

@ -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) {


+ 2
- 2
app/src/main/java/de/yannicpunktdee/yoshibot/main/Main.java View File

@ -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();


+ 2
- 2
app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java View File

@ -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<String> 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);
}
}

+ 36
- 13
app/src/main/java/de/yannicpunktdee/yoshibot/utils/Logger.java View File

@ -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));
}
}

+ 15
- 16
app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java View File

@ -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<File, Boolean> 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;
}
}


+ 5
- 6
app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java View File

@ -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<TextChannel> 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");
}
}
}


Loading…
Cancel
Save