@@ -297,6 +297,15 @@ func createTestEventTimerFired(eventID int64, id int) *s.HistoryEvent {
297
297
TimerFiredEventAttributes : attr }
298
298
}
299
299
300
+ func findLogField (entry observer.LoggedEntry , fieldName string ) * zapcore.Field {
301
+ for _ , field := range entry .Context {
302
+ if field .Key == fieldName {
303
+ return & field
304
+ }
305
+ }
306
+ return nil
307
+ }
308
+
300
309
var testWorkflowTaskTasklist = "tl1"
301
310
302
311
func (t * TaskHandlersTestSuite ) testWorkflowTaskWorkflowExecutionStartedHelper (params workerExecutionParameters ) {
@@ -874,14 +883,7 @@ func (t *TaskHandlersTestSuite) TestWorkflowTask_NondeterministicLogNonexistingI
874
883
ignoredWorkflowLogs := logs .FilterMessage ("Ignored workflow panic error" )
875
884
require .Len (t .T (), ignoredWorkflowLogs .All (), 1 )
876
885
877
- // Find the ReplayError field
878
- withField := ignoredWorkflowLogs .All ()[0 ]
879
- var replayErrorField * zapcore.Field
880
- for _ , field := range withField .Context {
881
- if field .Key == "ReplayError" {
882
- replayErrorField = & field
883
- }
884
- }
886
+ replayErrorField := findLogField (ignoredWorkflowLogs .All ()[0 ], "ReplayError" )
885
887
require .NotNil (t .T (), replayErrorField )
886
888
require .Equal (t .T (), zapcore .ErrorType , replayErrorField .Type )
887
889
require .ErrorContains (t .T (), replayErrorField .Interface .(error ),
@@ -928,12 +930,16 @@ func (t *TaskHandlersTestSuite) TestWorkflowTask_WorkflowPanics() {
928
930
createTestEventDecisionTaskScheduled (2 , & s.DecisionTaskScheduledEventAttributes {TaskList : & s.TaskList {Name : & taskList }}),
929
931
createTestEventDecisionTaskStarted (3 ),
930
932
}
933
+
934
+ obs , logs := observer .New (zap .ErrorLevel )
935
+ logger := zap .New (obs )
936
+
931
937
task := createWorkflowTask (testEvents , 3 , "PanicWorkflow" )
932
938
params := workerExecutionParameters {
933
939
TaskList : taskList ,
934
940
WorkerOptions : WorkerOptions {
935
941
Identity : "test-id-1" ,
936
- Logger : zap . NewNop () ,
942
+ Logger : logger ,
937
943
NonDeterministicWorkflowPolicy : NonDeterministicWorkflowPolicyBlockWorkflow ,
938
944
},
939
945
}
@@ -946,6 +952,14 @@ func (t *TaskHandlersTestSuite) TestWorkflowTask_WorkflowPanics() {
946
952
t .True (ok )
947
953
t .EqualValues ("WORKFLOW_WORKER_UNHANDLED_FAILURE" , r .Cause .String ())
948
954
t .EqualValues ("panicError" , string (r .Details ))
955
+
956
+ // Check that the error was logged
957
+ panicLogs := logs .FilterMessage ("Workflow panic." )
958
+ require .Len (t .T (), panicLogs .All (), 1 )
959
+
960
+ wfTypeField := findLogField (panicLogs .All ()[0 ], tagWorkflowType )
961
+ require .NotNil (t .T (), wfTypeField )
962
+ require .Equal (t .T (), "PanicWorkflow" , wfTypeField .String )
949
963
}
950
964
951
965
func (t * TaskHandlersTestSuite ) TestGetWorkflowInfo () {
0 commit comments