diff options
Diffstat (limited to 'odcsim-engine-omega/src')
| -rw-r--r-- | odcsim-engine-omega/src/main/kotlin/com/atlarge/odcsim/engine/omega/OmegaActorSystem.kt | 15 |
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 } } |
