@@ -167,33 +167,9 @@ public void DualCategoryLogger_BeginScope_CreatesScopeInBothLoggers()
167167 [ Fact ]
168168 public void GrpcDurableTaskWorker_UsesDualCategoryLogger_WhenLegacyCategoriesEnabled ( )
169169 {
170- // Arrange
171- var logProvider = new TestLogProvider ( new NullOutput ( ) ) ;
172- var loggerFactory = new SimpleLoggerFactory ( logProvider ) ;
173-
174- var workerOptions = new DurableTaskWorkerOptions
175- {
176- Logging = { UseLegacyCategories = true }
177- } ;
178-
179- var grpcOptions = new GrpcDurableTaskWorkerOptions ( ) ;
180- var factoryMock = new Mock < IDurableTaskFactory > ( MockBehavior . Strict ) ;
181- var services = new ServiceCollection ( ) . BuildServiceProvider ( ) ;
182-
183- // Act - Create worker which will create the logger internally
184- var worker = new GrpcDurableTaskWorker (
185- name : "Test" ,
186- factory : factoryMock . Object ,
187- grpcOptions : new OptionsMonitorStub < GrpcDurableTaskWorkerOptions > ( grpcOptions ) ,
188- workerOptions : new OptionsMonitorStub < DurableTaskWorkerOptions > ( workerOptions ) ,
189- services : services ,
190- loggerFactory : loggerFactory ,
191- orchestrationFilter : null ,
192- exceptionPropertiesProvider : null ) ;
193-
194- // Use reflection to access the private logger field
195- var loggerField = typeof ( GrpcDurableTaskWorker ) . GetField ( "logger" , System . Reflection . BindingFlags . NonPublic | System . Reflection . BindingFlags . Instance ) ;
196- var logger = loggerField ? . GetValue ( worker ) ;
170+ // Arrange & Act
171+ var worker = CreateWorkerWithLoggingOptions ( useLegacyCategories : true ) ;
172+ var logger = GetWorkerLogger ( worker ) ;
197173
198174 // Assert - verify the worker uses DualCategoryLogger when legacy categories are enabled
199175 logger . Should ( ) . NotBeNull ( "worker should have a logger" ) ;
@@ -203,21 +179,30 @@ public void GrpcDurableTaskWorker_UsesDualCategoryLogger_WhenLegacyCategoriesEna
203179 [ Fact ]
204180 public void GrpcDurableTaskWorker_UsesRegularLogger_WhenLegacyCategoriesDisabled ( )
205181 {
206- // Arrange
182+ // Arrange & Act
183+ var worker = CreateWorkerWithLoggingOptions ( useLegacyCategories : false ) ;
184+ var logger = GetWorkerLogger ( worker ) ;
185+
186+ // Assert - verify the worker uses a regular logger (not DualCategoryLogger) when legacy categories are disabled
187+ logger . Should ( ) . NotBeNull ( "worker should have a logger" ) ;
188+ logger . Should ( ) . NotBeOfType < DualCategoryLogger > ( "worker should not use DualCategoryLogger when UseLegacyCategories is false" ) ;
189+ }
190+
191+ static GrpcDurableTaskWorker CreateWorkerWithLoggingOptions ( bool useLegacyCategories )
192+ {
207193 var logProvider = new TestLogProvider ( new NullOutput ( ) ) ;
208194 var loggerFactory = new SimpleLoggerFactory ( logProvider ) ;
209195
210196 var workerOptions = new DurableTaskWorkerOptions
211197 {
212- Logging = { UseLegacyCategories = false }
198+ Logging = { UseLegacyCategories = useLegacyCategories }
213199 } ;
214200
215201 var grpcOptions = new GrpcDurableTaskWorkerOptions ( ) ;
216202 var factoryMock = new Mock < IDurableTaskFactory > ( MockBehavior . Strict ) ;
217203 var services = new ServiceCollection ( ) . BuildServiceProvider ( ) ;
218204
219- // Act - Create worker which will create the logger internally
220- var worker = new GrpcDurableTaskWorker (
205+ return new GrpcDurableTaskWorker (
221206 name : "Test" ,
222207 factory : factoryMock . Object ,
223208 grpcOptions : new OptionsMonitorStub < GrpcDurableTaskWorkerOptions > ( grpcOptions ) ,
@@ -226,14 +211,12 @@ public void GrpcDurableTaskWorker_UsesRegularLogger_WhenLegacyCategoriesDisabled
226211 loggerFactory : loggerFactory ,
227212 orchestrationFilter : null ,
228213 exceptionPropertiesProvider : null ) ;
214+ }
229215
230- // Use reflection to access the private logger field
216+ static object ? GetWorkerLogger ( GrpcDurableTaskWorker worker )
217+ {
231218 var loggerField = typeof ( GrpcDurableTaskWorker ) . GetField ( "logger" , System . Reflection . BindingFlags . NonPublic | System . Reflection . BindingFlags . Instance ) ;
232- var logger = loggerField ? . GetValue ( worker ) ;
233-
234- // Assert - verify the worker uses a regular logger (not DualCategoryLogger) when legacy categories are disabled
235- logger . Should ( ) . NotBeNull ( "worker should have a logger" ) ;
236- logger . Should ( ) . NotBeOfType < DualCategoryLogger > ( "worker should not use DualCategoryLogger when UseLegacyCategories is false" ) ;
219+ return loggerField ? . GetValue ( worker ) ;
237220 }
238221
239222}
0 commit comments