@@ -256,7 +256,7 @@ public void LoggerProviders_ApplicationInsights()
256
256
}
257
257
258
258
[ Fact ]
259
- public void LoggerProviders_AzureMonitor ( )
259
+ public void LoggerProviders_AzureMonitor_NoAppSetting ( )
260
260
{
261
261
IHost host = new HostBuilder ( )
262
262
. ConfigureDefaultTestWebScriptHost ( )
@@ -275,7 +275,43 @@ public void LoggerProviders_AzureMonitor()
275
275
loggerProviders . OfType < HostFileLoggerProvider > ( ) . Single ( ) ;
276
276
loggerProviders . OfType < FunctionFileLoggerProvider > ( ) . Single ( ) ;
277
277
loggerProviders . OfType < UserLogMetricsLoggerProvider > ( ) . Single ( ) ;
278
- loggerProviders . OfType < AzureMonitorDiagnosticLoggerProvider > ( ) . Single ( ) ;
278
+ loggerProviders . OfType < NullLoggerProvider > ( ) . Single ( ) ;
279
+ }
280
+
281
+ [ Theory ]
282
+ [ InlineData ( "1" , false ) ] // only true/false are parsed
283
+ [ InlineData ( "true" , true ) ]
284
+ [ InlineData ( "false" , false ) ]
285
+ [ InlineData ( "nonsense" , false ) ]
286
+ public void LoggerProviders_AzureMonitor_AppSetting ( string appSettingValue , bool expected )
287
+ {
288
+ IHost host = new HostBuilder ( )
289
+ . ConfigureDefaultTestWebScriptHost ( )
290
+ . ConfigureServices ( s =>
291
+ {
292
+ TestEnvironment environment = new TestEnvironment ( ) ;
293
+ environment . SetEnvironmentVariable ( EnvironmentSettingNames . AzureWebsiteHostName , "something.azurewebsites.net" ) ;
294
+ environment . SetEnvironmentVariable ( "AZURE_MONITOR_ENABLED" , appSettingValue ) ;
295
+ s . AddSingleton < IEnvironment > ( environment ) ;
296
+ } )
297
+ . Build ( ) ;
298
+
299
+ IEnumerable < ILoggerProvider > loggerProviders = host . Services . GetService < IEnumerable < ILoggerProvider > > ( ) ;
300
+
301
+ Assert . Equal ( 5 , loggerProviders . Count ( ) ) ;
302
+ loggerProviders . OfType < SystemLoggerProvider > ( ) . Single ( ) ;
303
+ loggerProviders . OfType < HostFileLoggerProvider > ( ) . Single ( ) ;
304
+ loggerProviders . OfType < FunctionFileLoggerProvider > ( ) . Single ( ) ;
305
+ loggerProviders . OfType < UserLogMetricsLoggerProvider > ( ) . Single ( ) ;
306
+
307
+ if ( expected )
308
+ {
309
+ loggerProviders . OfType < AzureMonitorDiagnosticLoggerProvider > ( ) . Single ( ) ;
310
+ }
311
+ else
312
+ {
313
+ loggerProviders . OfType < NullLoggerProvider > ( ) . Single ( ) ;
314
+ }
279
315
}
280
316
}
281
317
}
0 commit comments