summaryrefslogtreecommitdiff
path: root/odcsim/odcsim-api/src/main/kotlin
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2020-02-11 21:29:37 +0100
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-02-11 21:29:37 +0100
commit38156d85cd72d60b8cfb1fb1fabf8aeeaf827087 (patch)
treef89e4a46926d40f5420fceeabe2644be0680ff17 /odcsim/odcsim-api/src/main/kotlin
parentcd293b79ef2066ffcb605b9c625d6ab0a9af1d16 (diff)
feat: Add support for process-tied logging
This change adds a log property to the ProcessContext which allows the user to access a Logger instance that is tied to a particular logical process.
Diffstat (limited to 'odcsim/odcsim-api/src/main/kotlin')
-rw-r--r--odcsim/odcsim-api/src/main/kotlin/com/atlarge/odcsim/ProcessContext.kt6
1 files changed, 6 insertions, 0 deletions
diff --git a/odcsim/odcsim-api/src/main/kotlin/com/atlarge/odcsim/ProcessContext.kt b/odcsim/odcsim-api/src/main/kotlin/com/atlarge/odcsim/ProcessContext.kt
index 2a72e331..20d48ab3 100644
--- a/odcsim/odcsim-api/src/main/kotlin/com/atlarge/odcsim/ProcessContext.kt
+++ b/odcsim/odcsim-api/src/main/kotlin/com/atlarge/odcsim/ProcessContext.kt
@@ -27,6 +27,7 @@ package com.atlarge.odcsim
import java.time.Clock
import kotlin.coroutines.CoroutineContext
import kotlin.coroutines.coroutineContext
+import org.slf4j.Logger
/**
* Represents the execution context of a logical process in simulation.
@@ -48,6 +49,11 @@ public interface ProcessContext : CoroutineContext.Element {
public val clock: Clock
/**
+ * A logger instance tied to the logical process.
+ */
+ public val log: Logger
+
+ /**
* Spawn an anonymous logical process in the simulation universe with the specified [behavior].
*/
public fun spawn(behavior: Behavior): ProcessRef