diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index 28d465a4..114cd8fd 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -2055,6 +2055,7 @@ Fix viewport interaction with lod emitter service Fix most tests Rendering engine legacy code reorganization Code cleanup work +Logging for loading thread failure diff --git a/src/main/java/electrosphere/engine/loadingthreads/LoadingThread.java b/src/main/java/electrosphere/engine/loadingthreads/LoadingThread.java index 9602c1ff..cb8ba091 100644 --- a/src/main/java/electrosphere/engine/loadingthreads/LoadingThread.java +++ b/src/main/java/electrosphere/engine/loadingthreads/LoadingThread.java @@ -1,5 +1,7 @@ package electrosphere.engine.loadingthreads; +import electrosphere.logger.LoggerInterface; + /** * Threads for loading engine state */ @@ -100,7 +102,11 @@ public class LoadingThread extends Thread { @Override public void run(){ - execSync(this.threadType, this.params); + try { + LoadingThread.execSync(this.threadType, this.params); + } catch(Throwable e){ + LoggerInterface.loggerEngine.ERROR("Loading thread failed!", e); + } isDone = true; } diff --git a/src/main/java/electrosphere/logger/Logger.java b/src/main/java/electrosphere/logger/Logger.java index 67adcd2b..dc2775c5 100644 --- a/src/main/java/electrosphere/logger/Logger.java +++ b/src/main/java/electrosphere/logger/Logger.java @@ -116,32 +116,10 @@ public class Logger { * This should be used every time we throw any kind of error in the engine * @param message The message to report */ - public void ERROR(String message, Exception e){ + public void ERROR(String message, Throwable e){ if(level == LogLevel.LOOP_DEBUG || level == LogLevel.DEBUG || level == LogLevel.INFO || level == LogLevel.WARNING || level == LogLevel.ERROR){ System.err.println(message); - ERROR(e); - } - } - - /** - * Logs an error message. - * This should be used every time we throw any kind of error in the engine - * @param e The exception to report - */ - public void ERROR(Exception e){ - if(level == LogLevel.LOOP_DEBUG || level == LogLevel.DEBUG || level == LogLevel.INFO || level == LogLevel.WARNING || level == LogLevel.ERROR){ - e.printStackTrace(); - } - } - - /** - * Logs an error message. - * This should be used every time we throw any kind of error in the engine - * @param e The exception to report - */ - public void ERROR(Error e){ - if(level == LogLevel.LOOP_DEBUG || level == LogLevel.DEBUG || level == LogLevel.INFO || level == LogLevel.WARNING || level == LogLevel.ERROR){ - e.printStackTrace(); + this.ERROR(e); } }