summaryrefslogtreecommitdiff
path: root/odcsim-engine-omega/src
diff options
context:
space:
mode:
Diffstat (limited to 'odcsim-engine-omega/src')
-rw-r--r--odcsim-engine-omega/src/main/kotlin/com/atlarge/odcsim/engine/omega/OmegaActorSystem.kt15
1 files changed, 8 insertions, 7 deletions
diff --git a/odcsim-engine-omega/src/main/kotlin/com/atlarge/odcsim/engine/omega/OmegaActorSystem.kt b/odcsim-engine-omega/src/main/kotlin/com/atlarge/odcsim/engine/omega/OmegaActorSystem.kt
index 9899a360..881eb98d 100644
--- a/odcsim-engine-omega/src/main/kotlin/com/atlarge/odcsim/engine/omega/OmegaActorSystem.kt
+++ b/odcsim-engine-omega/src/main/kotlin/com/atlarge/odcsim/engine/omega/OmegaActorSystem.kt
@@ -35,7 +35,8 @@ import com.atlarge.odcsim.PostStop
import com.atlarge.odcsim.PreStart
import com.atlarge.odcsim.Signal
import com.atlarge.odcsim.internal.BehaviorInterpreter
-import mu.KotlinLogging
+import com.atlarge.odcsim.internal.logging.LoggerImpl
+import org.slf4j.Logger
import java.util.PriorityQueue
import kotlin.math.max
@@ -76,11 +77,6 @@ class OmegaActorSystem<in T : Any>(root: Behavior<T>, override val name: String)
*/
private val registry: MutableMap<ActorPath, Actor<*>> = HashMap()
- /**
- * A [KotlinLogging] instance that writes logs to a SLF4J implementation.
- */
- private val logger = KotlinLogging.logger {}
-
init {
registry[path] = Actor(this, root)
schedule(this, PreStart, .0)
@@ -144,6 +140,11 @@ class OmegaActorSystem<in T : Any>(root: Behavior<T>, override val name: String)
override val time: Instant
get() = this@OmegaActorSystem.time
+ override val system: ActorSystem<*>
+ get() = this@OmegaActorSystem
+
+ override val log: Logger by lazy(LazyThreadSafetyMode.NONE) { LoggerImpl(this) }
+
override fun <U : Any> send(ref: ActorRef<U>, msg: U, after: Duration) = schedule(ref, msg, after)
override fun <U : Any> spawn(behavior: Behavior<U>, name: String): ActorRef<U> {
@@ -232,7 +233,7 @@ class OmegaActorSystem<in T : Any>(root: Behavior<T>, override val name: String)
} catch (e: Exception) {
// Forcefully stop the actor if it crashed
stop()
- logger.error(e) { "Unhandled exception in actor $path" }
+ log.error("Unhandled exception in actor $path", e)
null
}
}