LighthouseGames / KmLogging

Kotlin multiplatform logging. High performance, composable and simple to use.
Apache License 2.0
84 stars 13 forks source link

JVM does not start #6

Closed mihai1voicescu closed 2 years ago

mihai1voicescu commented 2 years ago

When starting a JVM application, even the sample one I get

/Library/Java/JavaVirtualMachines/graalvm-ce-java11-20.2.0/Contents/Home/bin/java -javaagent:/Users/mihaivo/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6461.79/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=60370:/Users/mihaivo/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6461.79/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/mihaivo/IdeaProjects/KmLogging/sample/jvmApp/build/classes/kotlin/main:/Users/mihaivo/IdeaProjects/KmLogging/sample/jvmApp/build/resources/main:/Users/mihaivo/IdeaProjects/KmLogging/sample/shared/build/classes/kotlin/jvm/main:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.5.32/2d6cb56872e6c1e27ddc53ebf844fdb09879df82/kotlin-stdlib-jdk8-1.5.32.jar:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.3/7c4f3c474fb2c041d8028740440937705ebb473a/logback-classic-1.2.3.jar:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.30/b5a4b6d16ab13e34a88fae84c35cd5d68cac922c/slf4j-api-1.7.30.jar:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.2.3/864344400c3d4d92dfeb0a305dc87d953677c03c/logback-core-1.2.3.jar:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.5.32/8befc4a20c17094a148f1409c1bac163bc3ca630/kotlin-stdlib-common-1.5.32.jar:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.5.32/2e8f666555c2a6bf10ef712be8a738e665132c8/kotlin-stdlib-jdk7-1.5.32.jar:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.5.32/a1f8a73f899b85e6eb4337dff7e81b8b914bd2c9/kotlin-stdlib-1.5.32.jar:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/org.lighthousegames/logging-jvm/1.1.0/fec9e4efc9341c19ec76528436f3f48d4c97b7cb/logging-jvm-1.1.0.jar:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core-jvm/1.5.0/d8cebccdcddd029022aa8646a5a953ff88b13ac8/kotlinx-coroutines-core-jvm-1.5.0.jar:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/co.touchlab/stately-concurrency-jvm/1.1.10/62a5a34b6e0520bad1d9610c5d9c9de322d09b1b/stately-concurrency-jvm-1.1.10.jar:/Users/mihaivo/.gradle/caches/modules-2/files-2.1/co.touchlab/stately-common-jvm/1.1.10/cfa826fe3d5e2e6737f3e21ad6097730cbd16bb4/stately-common-jvm-1.1.10.jar org.lighthousegames.sample.JvmApp
Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.lighthousegames.logging.KmLogging.setupLoggingFlags(KmLogging.kt:81)
    at org.lighthousegames.logging.KmLogging.<clinit>(KmLogging.kt:21)
    at org.lighthousegames.logging.KmLogKt.logging(KmLog.kt:120)
    at org.lighthousegames.logging.KmLogKt.logging$default(KmLog.kt:119)
    at org.lighthousegames.sample.JvmApp.<clinit>(JvmApp.kt:36)
Caused by: java.lang.NullPointerException
    at org.lighthousegames.logging.KmLogging.setLogFactory(KmLogging.kt:37)
    at org.lighthousegames.logging.PlatformLogger.<init>(PlatformLogger.kt:6)
    at org.lighthousegames.logging.KmLoggingKt.<clinit>(KmLogging.kt:8)
    ... 5 more

Maybe it's from Java 11 or GrallVM...

mihai1voicescu commented 2 years ago

OpenJDK 17 does not work either

mihai1voicescu commented 2 years ago

The problem is logFactory is null (not an AtomicReference that points to null).

mihai1voicescu commented 2 years ago

Can I get a quick accept please, so I don't have to put it in our own artifactory 😁 ? @kpgalligan @ellsworthrw @oh-reed-ellsworth

kpgalligan commented 2 years ago

Well, I'm not really involved with this project, but I'd suggest adding a package to that logFactory. It's in the package folder but doesn't have a package associated with it.

ellsworthrw commented 2 years ago

fixed 1.1.1