Add a Logger

This commit is contained in:
2020-07-13 19:13:20 +02:00
parent 715a3da6e1
commit b9e0e6c0a7
7 changed files with 44 additions and 10 deletions

3
.gitignore vendored
View File

@@ -4,3 +4,6 @@ build/
# IDE specific stuff
.idea/
# Logs
*.log

View File

@@ -1,6 +1,9 @@
package de.siphalor.was;
import de.siphalor.was.content.lang.I18n;
import de.siphalor.was.util.Util;
import java.util.logging.Level;
public class Start {
public static void main(String[] args) {
@@ -9,7 +12,7 @@ public class Start {
was.setup();
I18n.getInstance().setLang("de_de", was.getContentManager());
System.out.println(I18n.getInstance().getString("test.hello-world"));
Util.LOGGER.log(Level.INFO, I18n.getInstance().getString("test.hello-world"));
was.run();
}

View File

@@ -12,6 +12,7 @@ import de.siphalor.was.content.quest.QuestManager;
import de.siphalor.was.content.quest.RandomQuestGenerator;
import de.siphalor.was.game.Balance;
import de.siphalor.was.game.Storage;
import de.siphalor.was.util.Util;
import de.siphalor.was.visual.JFXVisual;
import de.siphalor.was.visual.Visual;
import org.jetbrains.annotations.Nullable;
@@ -20,6 +21,8 @@ import java.io.File;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
public class WhatAStorage {
private static final int MAX_QUESTS = 3;
@@ -87,7 +90,7 @@ public class WhatAStorage {
productManager.reload(contentManager);
questManager.reload(contentManager);
System.out.println("Reloaded game content");
Util.LOGGER.log(Level.INFO, "Reloaded game content");
}
public void setup() {
@@ -141,7 +144,7 @@ public class WhatAStorage {
public void abandonQuest(int index) {
if (index >= quests.size()) {
System.out.println("INTERNAL ERROR: Attempted to abandon non-existent quest!");
Util.LOGGER.log(Level.SEVERE, "Attempted to abandon non-existent quest!");
return;
}

View File

@@ -2,6 +2,7 @@ package de.siphalor.was.content.lang;
import de.siphalor.was.content.ContentManager;
import de.siphalor.was.content.resource.Resource;
import de.siphalor.was.util.Util;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -10,6 +11,7 @@ import java.io.InputStream;
import java.util.Enumeration;
import java.util.Optional;
import java.util.Properties;
import java.util.logging.Level;
public class Lang {
private final String code;
@@ -43,7 +45,7 @@ public class Lang {
});
if (properties.isEmpty()) {
System.out.println("Failed to load lang file for " + code);
Util.LOGGER.log(Level.SEVERE, "Failed to load lang file for " + code);
}
}

View File

@@ -3,6 +3,7 @@ package de.siphalor.was.content.quest;
import de.siphalor.was.content.product.Product;
import de.siphalor.was.content.product.ProductManager;
import de.siphalor.was.content.product.ProductType;
import de.siphalor.was.util.Util;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -14,6 +15,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.logging.Level;
public class StaticQuestGenerator implements QuestGenerator {
@NotNull
@@ -46,22 +48,22 @@ public class StaticQuestGenerator implements QuestGenerator {
if (product != null) {
quests.add(new Quest(type, reward, product));
} else {
System.out.println("Invalid product in quest: " + line);
Util.LOGGER.log(Level.WARNING, "Invalid product in quest: " + line);
}
} else {
System.out.println("Invalid product in quest: " + parts[2]);
Util.LOGGER.log(Level.WARNING, "Invalid product in quest: " + parts[2]);
}
} else {
System.out.println("Invalid line in quests file: " + line);
Util.LOGGER.log(Level.WARNING, "Invalid line in quests file: " + line);
}
} catch (Exception e) {
System.out.println("Failed to load quest in csv file in line: " + line);
Util.LOGGER.log(Level.WARNING, "Failed to load quest in csv file in line: " + line);
e.printStackTrace();
}
}
return new StaticQuestGenerator(quests);
} catch (IOException e) {
System.out.println("Failed to load quest csv file:");
Util.LOGGER.log(Level.WARNING, "Failed to load quest csv file:");
e.printStackTrace();
}
return null;

View File

@@ -1,10 +1,17 @@
package de.siphalor.was.util;
import java.awt.image.ImageObserver;
import java.io.IOException;
import java.util.function.IntPredicate;
import java.util.function.Predicate;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
public class Util {
public static final Logger LOGGER;
private static final Predicate<?> DUMMY_PREDICATE = o -> true;
private static final IntPredicate DUMMY_INT_PREDICATE = value -> true;
@@ -39,4 +46,16 @@ public class Util {
public static ImageObserver dummyImageObserver() {
return (img, infoflags, x, y, width, height) -> false;
}
static {
LOGGER = Logger.getLogger("");
try {
FileHandler logFile = new FileHandler("was.log");
logFile.setLevel(Level.FINEST);
logFile.setFormatter(new SimpleFormatter());
LOGGER.addHandler(logFile);
} catch (IOException e) {
e.printStackTrace();
}
}
}

View File

@@ -8,6 +8,7 @@ import de.siphalor.was.content.product.Product;
import de.siphalor.was.content.quest.Quest;
import de.siphalor.was.content.resource.Resource;
import de.siphalor.was.game.Balance;
import de.siphalor.was.util.Util;
import de.siphalor.was.visual.jfx.controller.BalanceController;
import de.siphalor.was.visual.jfx.controller.MainController;
import de.siphalor.was.visual.jfx.controller.QuestController;
@@ -30,6 +31,7 @@ import org.jetbrains.annotations.NotNull;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.logging.Level;
public class JFXVisual extends Application implements Visual {
private static Stage primaryStage;
@@ -209,7 +211,7 @@ public class JFXVisual extends Application implements Visual {
e.printStackTrace();
}
}, () -> {
System.out.println("INTERNAL ERROR: Failed to load quest widget");
Util.LOGGER.log(Level.SEVERE, "INTERNAL ERROR: Failed to load quest widget");
});
}