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 # IDE specific stuff
.idea/ .idea/
# Logs
*.log

View File

@@ -1,6 +1,9 @@
package de.siphalor.was; package de.siphalor.was;
import de.siphalor.was.content.lang.I18n; import de.siphalor.was.content.lang.I18n;
import de.siphalor.was.util.Util;
import java.util.logging.Level;
public class Start { public class Start {
public static void main(String[] args) { public static void main(String[] args) {
@@ -9,7 +12,7 @@ public class Start {
was.setup(); was.setup();
I18n.getInstance().setLang("de_de", was.getContentManager()); 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(); 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.content.quest.RandomQuestGenerator;
import de.siphalor.was.game.Balance; import de.siphalor.was.game.Balance;
import de.siphalor.was.game.Storage; import de.siphalor.was.game.Storage;
import de.siphalor.was.util.Util;
import de.siphalor.was.visual.JFXVisual; import de.siphalor.was.visual.JFXVisual;
import de.siphalor.was.visual.Visual; import de.siphalor.was.visual.Visual;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@@ -20,6 +21,8 @@ import java.io.File;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
public class WhatAStorage { public class WhatAStorage {
private static final int MAX_QUESTS = 3; private static final int MAX_QUESTS = 3;
@@ -87,7 +90,7 @@ public class WhatAStorage {
productManager.reload(contentManager); productManager.reload(contentManager);
questManager.reload(contentManager); questManager.reload(contentManager);
System.out.println("Reloaded game content"); Util.LOGGER.log(Level.INFO, "Reloaded game content");
} }
public void setup() { public void setup() {
@@ -141,7 +144,7 @@ public class WhatAStorage {
public void abandonQuest(int index) { public void abandonQuest(int index) {
if (index >= quests.size()) { 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; return;
} }

View File

@@ -2,6 +2,7 @@ package de.siphalor.was.content.lang;
import de.siphalor.was.content.ContentManager; import de.siphalor.was.content.ContentManager;
import de.siphalor.was.content.resource.Resource; import de.siphalor.was.content.resource.Resource;
import de.siphalor.was.util.Util;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@@ -10,6 +11,7 @@ import java.io.InputStream;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.Optional; import java.util.Optional;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Level;
public class Lang { public class Lang {
private final String code; private final String code;
@@ -43,7 +45,7 @@ public class Lang {
}); });
if (properties.isEmpty()) { 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.Product;
import de.siphalor.was.content.product.ProductManager; import de.siphalor.was.content.product.ProductManager;
import de.siphalor.was.content.product.ProductType; import de.siphalor.was.content.product.ProductType;
import de.siphalor.was.util.Util;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@@ -14,6 +15,7 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.logging.Level;
public class StaticQuestGenerator implements QuestGenerator { public class StaticQuestGenerator implements QuestGenerator {
@NotNull @NotNull
@@ -46,22 +48,22 @@ public class StaticQuestGenerator implements QuestGenerator {
if (product != null) { if (product != null) {
quests.add(new Quest(type, reward, product)); quests.add(new Quest(type, reward, product));
} else { } else {
System.out.println("Invalid product in quest: " + line); Util.LOGGER.log(Level.WARNING, "Invalid product in quest: " + line);
} }
} else { } else {
System.out.println("Invalid product in quest: " + parts[2]); Util.LOGGER.log(Level.WARNING, "Invalid product in quest: " + parts[2]);
} }
} else { } else {
System.out.println("Invalid line in quests file: " + line); Util.LOGGER.log(Level.WARNING, "Invalid line in quests file: " + line);
} }
} catch (Exception e) { } 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(); e.printStackTrace();
} }
} }
return new StaticQuestGenerator(quests); return new StaticQuestGenerator(quests);
} catch (IOException e) { } 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(); e.printStackTrace();
} }
return null; return null;

View File

@@ -1,10 +1,17 @@
package de.siphalor.was.util; package de.siphalor.was.util;
import java.awt.image.ImageObserver; import java.awt.image.ImageObserver;
import java.io.IOException;
import java.util.function.IntPredicate; import java.util.function.IntPredicate;
import java.util.function.Predicate; 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 class Util {
public static final Logger LOGGER;
private static final Predicate<?> DUMMY_PREDICATE = o -> true; private static final Predicate<?> DUMMY_PREDICATE = o -> true;
private static final IntPredicate DUMMY_INT_PREDICATE = value -> true; private static final IntPredicate DUMMY_INT_PREDICATE = value -> true;
@@ -39,4 +46,16 @@ public class Util {
public static ImageObserver dummyImageObserver() { public static ImageObserver dummyImageObserver() {
return (img, infoflags, x, y, width, height) -> false; 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.quest.Quest;
import de.siphalor.was.content.resource.Resource; import de.siphalor.was.content.resource.Resource;
import de.siphalor.was.game.Balance; 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.BalanceController;
import de.siphalor.was.visual.jfx.controller.MainController; import de.siphalor.was.visual.jfx.controller.MainController;
import de.siphalor.was.visual.jfx.controller.QuestController; import de.siphalor.was.visual.jfx.controller.QuestController;
@@ -30,6 +31,7 @@ import org.jetbrains.annotations.NotNull;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.*; import java.util.*;
import java.util.logging.Level;
public class JFXVisual extends Application implements Visual { public class JFXVisual extends Application implements Visual {
private static Stage primaryStage; private static Stage primaryStage;
@@ -209,7 +211,7 @@ public class JFXVisual extends Application implements Visual {
e.printStackTrace(); e.printStackTrace();
} }
}, () -> { }, () -> {
System.out.println("INTERNAL ERROR: Failed to load quest widget"); Util.LOGGER.log(Level.SEVERE, "INTERNAL ERROR: Failed to load quest widget");
}); });
} }