diff --git a/temporalio/workflow.py b/temporalio/workflow.py index 8a82b8572..aa744e41c 100644 --- a/temporalio/workflow.py +++ b/temporalio/workflow.py @@ -1104,10 +1104,11 @@ def process( kwargs["extra"] = extra return (msg, kwargs) - def log(self, *args, **kwargs) -> None: + def isEnabledFor(self, level: int) -> bool: """Override to ignore replay logs.""" - if self.log_during_replay or not unsafe.is_replaying(): - super().log(*args, **kwargs) + if not self.log_during_replay and unsafe.is_replaying(): + return False + return super().isEnabledFor(level) @property def base_logger(self) -> logging.Logger: diff --git a/tests/worker/test_workflow.py b/tests/worker/test_workflow.py index 476ddcb0c..8a6e85a9c 100644 --- a/tests/worker/test_workflow.py +++ b/tests/worker/test_workflow.py @@ -1907,11 +1907,12 @@ def find_log(starts_with: str) -> Optional[logging.LogRecord]: assert find_log("Signal: signal 1 ({'attempt':") assert find_log("Signal: signal 2") assert not find_log("Signal: signal 3") - # Also make sure it has some workflow info + # Also make sure it has some workflow info and correct funcName record = find_log("Signal: signal 1") assert ( record and record.__dict__["workflow_info"].workflow_type == "LoggingWorkflow" + and record.funcName == "my_signal" ) # Clear queue and start a new one with more signals