Add a Logger
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -4,3 +4,6 @@ build/
|
|||||||
|
|
||||||
# IDE specific stuff
|
# IDE specific stuff
|
||||||
.idea/
|
.idea/
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
*.log
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user