From b5b5e9e78dc6e2051524d313a60eabd1f41b278c Mon Sep 17 00:00:00 2001 From: Artur Ciocanu Date: Sat, 30 Aug 2025 14:58:23 -0700 Subject: [PATCH] Adding logger to WorkflowActivityContext Signed-off-by: Artur Ciocanu --- .../workflows/WorkflowActivityContext.java | 4 +++ .../DefaultWorkflowActivityContext.java | 29 +++++++++++++++++++ .../runtime/DefaultWorkflowContext.java | 1 + 3 files changed, 34 insertions(+) diff --git a/sdk-workflows/src/main/java/io/dapr/workflows/WorkflowActivityContext.java b/sdk-workflows/src/main/java/io/dapr/workflows/WorkflowActivityContext.java index dedde8901..2391b8f63 100644 --- a/sdk-workflows/src/main/java/io/dapr/workflows/WorkflowActivityContext.java +++ b/sdk-workflows/src/main/java/io/dapr/workflows/WorkflowActivityContext.java @@ -13,8 +13,12 @@ limitations under the License. package io.dapr.workflows; +import org.slf4j.Logger; + public interface WorkflowActivityContext { + Logger getLogger(); + String getName(); String getTaskExecutionId(); diff --git a/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowActivityContext.java b/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowActivityContext.java index 8de4f7e74..a893acdee 100644 --- a/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowActivityContext.java +++ b/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowActivityContext.java @@ -15,12 +15,15 @@ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskActivityContext; import io.dapr.workflows.WorkflowActivityContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Wrapper for Durable Task Framework {@link TaskActivityContext}. */ class DefaultWorkflowActivityContext implements WorkflowActivityContext { private final TaskActivityContext innerContext; + private final Logger logger; /** * Constructor for WorkflowActivityContext. @@ -29,10 +32,36 @@ class DefaultWorkflowActivityContext implements WorkflowActivityContext { * @throws IllegalArgumentException if context is null */ public DefaultWorkflowActivityContext(TaskActivityContext context) throws IllegalArgumentException { + this(context, LoggerFactory.getLogger(WorkflowActivityContext .class)); + } + + /** + * Constructor for WorkflowActivityContext. + * + * @param context TaskActivityContext + * @throws IllegalArgumentException if context is null + */ + public DefaultWorkflowActivityContext(TaskActivityContext context, Logger logger) throws IllegalArgumentException { if (context == null) { throw new IllegalArgumentException("Context cannot be null"); } + + if (logger == null) { + throw new IllegalArgumentException("Logger cannot be null"); + } + this.innerContext = context; + this.logger = logger; + } + + /** + * Gets the logger for the current activity. + * + * @return the logger for the current activity + */ + @Override + public Logger getLogger() { + return this.logger; } /** diff --git a/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowContext.java b/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowContext.java index d12346ca0..f76eb0044 100644 --- a/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowContext.java +++ b/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowContext.java @@ -63,6 +63,7 @@ public class DefaultWorkflowContext implements WorkflowContext { if (context == null) { throw new IllegalArgumentException("Context cannot be null"); } + if (logger == null) { throw new IllegalArgumentException("Logger cannot be null"); }