diff --git a/build.gradle b/build.gradle index 67007a1..b9ddd1d 100644 --- a/build.gradle +++ b/build.gradle @@ -19,6 +19,8 @@ repositories { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib" implementation 'com.google.code.gson:gson:2.8.6' + implementation 'org.apache.logging.log4j:log4j-api:2.14.1' + implementation 'org.apache.logging.log4j:log4j-core:2.14.1' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.1' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' diff --git a/src/main/java/org/hmcore/HMCore.java b/src/main/java/org/hmcore/HMCore.java index a960db9..69fae68 100644 --- a/src/main/java/org/hmcore/HMCore.java +++ b/src/main/java/org/hmcore/HMCore.java @@ -1,5 +1,7 @@ package org.hmcore; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.hmcore.modules.Module; import org.hmcore.modules.ModuleLoader; import org.hmcore.modules.ModuleManager; @@ -10,8 +12,12 @@ import java.util.HashMap; public class HMCore { public static final HashMap modules = new HashMap<>(); + public static final Logger logger = LogManager.getLogger("HMCore"); public static void main(String[] args) { + + + ModuleManager.loadModules(); ModuleManager.initModules(); ModuleManager.hookModules(); diff --git a/src/main/java/org/hmcore/modules/ModuleLoader.java b/src/main/java/org/hmcore/modules/ModuleLoader.java index 1d52c94..0f6b030 100644 --- a/src/main/java/org/hmcore/modules/ModuleLoader.java +++ b/src/main/java/org/hmcore/modules/ModuleLoader.java @@ -27,7 +27,7 @@ public class ModuleLoader { } private void loadModule(String path) throws IOException, ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException { - System.out.println("Loading module at: " + path); + HMCore.logger.debug("Loading module at: " + path); JarFile jarFile = new JarFile(path); JarEntry jarEntry = jarFile.getJarEntry("module.json"); String content = getClassPath(jarFile.getInputStream(jarEntry)); @@ -40,7 +40,7 @@ public class ModuleLoader { Class classToLoad = Class.forName(readable.getClassPath(), true, child); Module instance = (Module) classToLoad.getDeclaredConstructor().newInstance(); HMCore.modules.put(instance.getName(), instance); - System.out.println("Loaded " + instance.getName() + " v" + readable.getVersion() + " by " + readable.getCreator()); + HMCore.logger.info("Loaded " + instance.getName() + " v" + readable.getVersion() + " by " + readable.getCreator()); } private String getClassPath(InputStream jarEntry) { diff --git a/src/main/java/org/hmcore/registration/config/ObjectInfoConfigHandler.java b/src/main/java/org/hmcore/registration/config/ObjectInfoConfigHandler.java index 6cf6a43..98686f3 100644 --- a/src/main/java/org/hmcore/registration/config/ObjectInfoConfigHandler.java +++ b/src/main/java/org/hmcore/registration/config/ObjectInfoConfigHandler.java @@ -47,8 +47,8 @@ public class ObjectInfoConfigHandler { if(registryModule.objectAndInfoExist(data.objectInfoName, data.objectInfoChosen)) { registryModule.forceObjectInfoForObject(data.objectInfoName, data.objectInfoChosen); } else { - System.out.println("[!] Either Object Info " + data.objectInfoChosen + " doesn't exist for " + data.objectInfoName + " or " + data.objectInfoName + " doesn't exist!\n" + - "Please stop the Server, delete objetc-infos.json and let the server regenertate a new config [!]"); + HMCore.logger.fatal("[!] Either Object Info " + data.objectInfoChosen + " doesn't exist for " + data.objectInfoName + " or " + data.objectInfoName + " doesn't exist!\n" + + "Please stop the Server, delete objetc-infos.json and let the server regenerate a new config [!]"); return false; } } @@ -89,7 +89,7 @@ public class ObjectInfoConfigHandler { try { object = new GsonBuilder().create().fromJson(content, ObjectInfoConfig.class); } catch (Exception e) { - System.out.println("[!] Object Info Config not valid!"); + HMCore.logger.fatal("[!] Object Info Config not valid!"); return null; } diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml new file mode 100644 index 0000000..63c7069 --- /dev/null +++ b/src/main/resources/log4j2.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file