diff --git a/api/build.gradle b/api/build.gradle index 19ebdde7..0d3e20c7 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -11,4 +11,5 @@ repositories { dependencies { implementation "org.joml:joml:${jomlVersion}" + implementation "org.slf4j:slf4j-api:${slf4jVersion}" } \ No newline at end of file diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/util/profiler/FPSProfiler.java b/api/src/main/java/com/bartlomiejpluta/base/api/util/profiler/FPSProfiler.java index 182a8295..cbcee6dc 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/api/util/profiler/FPSProfiler.java +++ b/api/src/main/java/com/bartlomiejpluta/base/api/util/profiler/FPSProfiler.java @@ -1,5 +1,8 @@ package com.bartlomiejpluta.base.api.util.profiler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -10,6 +13,8 @@ import static java.util.stream.Collectors.counting; import static java.util.stream.Collectors.groupingBy; public class FPSProfiler { + private static final Logger log = LoggerFactory.getLogger(FPSProfiler.class); + private static final int MOD = 30; private final List values = new LinkedList<>(); private float fpsAccumulator = 0; @@ -29,7 +34,7 @@ public class FPSProfiler { } public void printResult() { - System.out.format("Min FPS: %f, max FPS: %f, avg FPS: %f", + log.info("Min FPS: {}, max FPS: {}, avg FPS: {}", values.stream().min(Double::compareTo).orElse(-1.0), values.stream().max(Double::compareTo).orElse(-1.0), totalAverage() @@ -51,6 +56,6 @@ public class FPSProfiler { .entrySet() .stream() .sorted(comparingInt(Map.Entry::getKey)) - .forEach(e -> System.out.printf("%s FPS: %f%% (%d occurrences)", e.getKey(), e.getValue() * 100.0f / values.size(), e.getValue())); + .forEach(e -> log.info("{} FPS: {}% ({} occurrences)", e.getKey(), e.getValue() * 100.0f / values.size(), e.getValue())); } } diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/util/profiler/TimeProfiler.java b/api/src/main/java/com/bartlomiejpluta/base/api/util/profiler/TimeProfiler.java index f314b855..b4ebb19a 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/api/util/profiler/TimeProfiler.java +++ b/api/src/main/java/com/bartlomiejpluta/base/api/util/profiler/TimeProfiler.java @@ -1,11 +1,16 @@ package com.bartlomiejpluta.base.api.util.profiler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.text.DecimalFormat; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; public class TimeProfiler { + private static final Logger log = LoggerFactory.getLogger(TimeProfiler.class); + private static final DecimalFormat DF = new DecimalFormat("0.00"); private final Map averages = new HashMap<>(); @@ -24,7 +29,7 @@ public class TimeProfiler { public void printResult() { averages.entrySet().stream() .sorted(Entry.comparingByValue().reversed()) - .forEachOrdered(entry -> System.out.format("[%s]: [%sms] [%sus] [%sns]", + .forEachOrdered(entry -> log.info("[{}]: [{}sms] [{}sus] [{}ns]", entry.getKey(), DF.format(entry.getValue() / 1_000_000), DF.format(entry.getValue() / 1_000), diff --git a/editor/build.gradle b/editor/build.gradle index 5e5afe61..0165780b 100644 --- a/editor/build.gradle +++ b/editor/build.gradle @@ -44,10 +44,10 @@ dependencies { implementation "org.codehaus.janino:janino:${janinoVersion}" implementation "org.codehaus.janino:commons-compiler:${janinoVersion}" - // Spring implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter-freemarker' + implementation "org.slf4j:jul-to-slf4j:${slf4jVersion}" } task provideGameEngine(type: Copy) { diff --git a/editor/src/main/resources/java_templates/game_runner.ftl b/editor/src/main/resources/java_templates/game_runner.ftl index 7b71cb14..34c6bdf5 100644 --- a/editor/src/main/resources/java_templates/game_runner.ftl +++ b/editor/src/main/resources/java_templates/game_runner.ftl @@ -1,13 +1,18 @@ package ${package}; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import com.bartlomiejpluta.base.api.game.context.Context; import com.bartlomiejpluta.base.api.game.screen.Screen; import com.bartlomiejpluta.base.api.game.runner.GameRunner; public class ${className} implements GameRunner { + private static final Logger log = LoggerFactory.getLogger(${className}.class); @Override public void init(Context context) { + log.info("The game runner is not implemented yet..."); throw new RuntimeException("Not implemented yet"); } diff --git a/engine/build.gradle b/engine/build.gradle index ebf793af..0efd24ad 100644 --- a/engine/build.gradle +++ b/engine/build.gradle @@ -82,6 +82,7 @@ dependencies { // Spring implementation 'org.springframework.boot:spring-boot-starter' + implementation "org.slf4j:jul-to-slf4j:${slf4jVersion}" compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' diff --git a/engine/src/main/java/com/bartlomiejpluta/base/engine/core/gl/object/texture/DefaultTextureManager.java b/engine/src/main/java/com/bartlomiejpluta/base/engine/core/gl/object/texture/DefaultTextureManager.java index e99118ad..4f12e4c1 100644 --- a/engine/src/main/java/com/bartlomiejpluta/base/engine/core/gl/object/texture/DefaultTextureManager.java +++ b/engine/src/main/java/com/bartlomiejpluta/base/engine/core/gl/object/texture/DefaultTextureManager.java @@ -42,6 +42,6 @@ public class DefaultTextureManager implements TextureManager { public void cleanUp() { log.info("Disposing textures"); loadedTextures.forEach((name, texture) -> texture.dispose()); - log.info("{} textures has been disposed", loadedTextures.size()); + log.info("{} textures have been disposed", loadedTextures.size()); } } diff --git a/engine/src/main/java/com/bartlomiejpluta/base/engine/core/gl/shader/manager/DefaultShaderManager.java b/engine/src/main/java/com/bartlomiejpluta/base/engine/core/gl/shader/manager/DefaultShaderManager.java index 257a97eb..c3f538da 100644 --- a/engine/src/main/java/com/bartlomiejpluta/base/engine/core/gl/shader/manager/DefaultShaderManager.java +++ b/engine/src/main/java/com/bartlomiejpluta/base/engine/core/gl/shader/manager/DefaultShaderManager.java @@ -146,6 +146,6 @@ public class DefaultShaderManager implements ShaderManager { public void cleanUp() { log.info("Disposing shaders"); shaders.forEach((name, program) -> program.dispose()); - log.info("{} shaders has been disposed", shaders.size()); + log.info("{} shaders have been disposed", shaders.size()); } } diff --git a/engine/src/main/java/com/bartlomiejpluta/base/engine/util/mesh/DefaultMeshManager.java b/engine/src/main/java/com/bartlomiejpluta/base/engine/util/mesh/DefaultMeshManager.java index b5bc8210..2bb84574 100644 --- a/engine/src/main/java/com/bartlomiejpluta/base/engine/util/mesh/DefaultMeshManager.java +++ b/engine/src/main/java/com/bartlomiejpluta/base/engine/util/mesh/DefaultMeshManager.java @@ -32,7 +32,7 @@ public class DefaultMeshManager implements MeshManager { public void cleanUp() { log.info("Disposing meshes"); quads.forEach((dim, mesh) -> mesh.dispose()); - log.info("{} meshes has been disposed", quads.size()); + log.info("{} meshes have been disposed", quads.size()); } @Data diff --git a/gradle.properties b/gradle.properties index 88d32bc3..a8a6f238 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,7 @@ lwjglVersion=3.2.3 springBootVersion=2.4.2 springDependencyManagementVersion=1.0.11.RELEASE +slf4jVersion=1.7.30 jomlVersion=1.10.0 guavaVersion=29.0-jre javaFxVersion=15.0.1