diff --git a/src/main/java/de/bixilon/minosoft/Minosoft.kt b/src/main/java/de/bixilon/minosoft/Minosoft.kt index 069817e38..2b6aa3e41 100644 --- a/src/main/java/de/bixilon/minosoft/Minosoft.kt +++ b/src/main/java/de/bixilon/minosoft/Minosoft.kt @@ -70,6 +70,7 @@ object Minosoft { fun main(args: Array) { val start = nanos() Log::class.java.forceInit() + ShutdownManager.addHook { Log.await() } CommandLineArguments.parse(args) Log.log(LogMessageType.OTHER, LogLevels.INFO) { "Starting minosoft..." } diff --git a/src/main/java/de/bixilon/minosoft/util/KUtil.kt b/src/main/java/de/bixilon/minosoft/util/KUtil.kt index c89b82f09..4ea48218b 100644 --- a/src/main/java/de/bixilon/minosoft/util/KUtil.kt +++ b/src/main/java/de/bixilon/minosoft/util/KUtil.kt @@ -46,6 +46,7 @@ import de.bixilon.minosoft.protocol.network.connection.status.StatusConnection import de.bixilon.minosoft.protocol.network.network.client.netty.NettyClient import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition import de.bixilon.minosoft.protocol.protocol.buffers.OutByteBuffer +import de.bixilon.minosoft.terminal.RunConfiguration import de.bixilon.minosoft.util.account.microsoft.MicrosoftOAuthUtils import de.bixilon.minosoft.util.json.Jackson import de.bixilon.minosoft.util.url.ResourceURLHandler @@ -293,7 +294,9 @@ object KUtil { } } ShutdownManager += { - Platform.exit() + if (!RunConfiguration.DISABLE_EROS) { + Platform.exit() + } } } diff --git a/src/main/java/de/bixilon/minosoft/util/logging/Log.kt b/src/main/java/de/bixilon/minosoft/util/logging/Log.kt index 6c3543316..7818f8a89 100644 --- a/src/main/java/de/bixilon/minosoft/util/logging/Log.kt +++ b/src/main/java/de/bixilon/minosoft/util/logging/Log.kt @@ -114,10 +114,7 @@ object Log { return false } val setLevel = levels?.get(type) ?: LogLevels.INFO - if (setLevel.ordinal < level.ordinal) { - return true - } - return false + return setLevel.ordinal < level.ordinal } fun log(type: LogMessageType, level: LogLevels = LogLevels.INFO, additionalPrefix: ChatComponent? = null, message: Any?, vararg formatting: Any) { @@ -191,4 +188,10 @@ object Log { } log(type, additionalPrefix = null, messageBuilder = messageBuilder) } + + fun await() { + while (this.QUEUE.isNotEmpty()) { + Thread.sleep(1) + } + } }