Skip to content

Commit 700aa23

Browse files
committed
Revert "temporarily disabling AzureMonitor logger"
This reverts commit e3cdda2.
1 parent 81bc54e commit 700aa23

File tree

2 files changed

+49
-4
lines changed

2 files changed

+49
-4
lines changed

src/WebJobs.Script.WebHost/WebScriptHostBuilderExtension.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
using Microsoft.Extensions.DependencyInjection.Extensions;
1515
using Microsoft.Extensions.Hosting;
1616
using Microsoft.Extensions.Logging;
17+
using Microsoft.Extensions.Logging.Abstractions;
18+
using Microsoft.Extensions.Options;
1719

1820
namespace Microsoft.Azure.WebJobs.Script.WebHost
1921
{
@@ -50,6 +52,21 @@ public static IHostBuilder AddWebScriptHost(this IHostBuilder builder, IServiceP
5052

5153
loggingBuilder.AddWebJobsSystem<SystemLoggerProvider>();
5254
loggingBuilder.Services.AddSingleton<ILoggerProvider, UserLogMetricsLoggerProvider>();
55+
loggingBuilder.Services.AddSingleton<ILoggerProvider>(services =>
56+
{
57+
IEnvironment environment = services.GetService<IEnvironment>();
58+
IScriptWebHostEnvironment hostEnvironment = services.GetService<IScriptWebHostEnvironment>();
59+
60+
if (!hostEnvironment.InStandbyMode &&
61+
!string.IsNullOrEmpty(environment.GetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteHostName)))
62+
{
63+
IEventGenerator eventGenerator = services.GetService<IEventGenerator>();
64+
IOptions<ScriptJobHostOptions> options = services.GetService<IOptions<ScriptJobHostOptions>>();
65+
return new AzureMonitorDiagnosticLoggerProvider(options, eventGenerator, environment);
66+
}
67+
68+
return NullLoggerProvider.Instance;
69+
});
5370

5471
ConfigureRegisteredBuilders(loggingBuilder, rootServiceProvider);
5572
})

test/WebJobs.Script.Tests/Configuration/LoggingConfigurationTests.cs

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using Microsoft.Extensions.DependencyInjection;
1212
using Microsoft.Extensions.Hosting;
1313
using Microsoft.Extensions.Logging;
14+
using Microsoft.Extensions.Logging.Abstractions;
1415
using Microsoft.Extensions.Logging.Console;
1516
using Microsoft.Extensions.Options;
1617
using Microsoft.WebJobs.Script.Tests;
@@ -177,11 +178,12 @@ public void LoggerProviders_Default()
177178

178179
IEnumerable<ILoggerProvider> loggerProviders = host.Services.GetService<IEnumerable<ILoggerProvider>>();
179180

180-
Assert.Equal(4, loggerProviders.Count());
181+
Assert.Equal(5, loggerProviders.Count());
181182
loggerProviders.OfType<SystemLoggerProvider>().Single();
182183
loggerProviders.OfType<HostFileLoggerProvider>().Single();
183184
loggerProviders.OfType<FunctionFileLoggerProvider>().Single();
184185
loggerProviders.OfType<UserLogMetricsLoggerProvider>().Single();
186+
loggerProviders.OfType<NullLoggerProvider>().Single();
185187
}
186188

187189
[Fact]
@@ -194,12 +196,13 @@ public void LoggerProviders_ConsoleEnabled_IfDevelopmentEnvironment()
194196

195197
IEnumerable<ILoggerProvider> loggerProviders = host.Services.GetService<IEnumerable<ILoggerProvider>>();
196198

197-
Assert.Equal(5, loggerProviders.Count());
199+
Assert.Equal(6, loggerProviders.Count());
198200
loggerProviders.OfType<SystemLoggerProvider>().Single();
199201
loggerProviders.OfType<HostFileLoggerProvider>().Single();
200202
loggerProviders.OfType<FunctionFileLoggerProvider>().Single();
201203
loggerProviders.OfType<ConsoleLoggerProvider>().Single();
202204
loggerProviders.OfType<UserLogMetricsLoggerProvider>().Single();
205+
loggerProviders.OfType<NullLoggerProvider>().Single();
203206
}
204207

205208
[Fact]
@@ -218,12 +221,13 @@ public void LoggerProviders_ConsoleEnabled_InConfiguration()
218221

219222
IEnumerable<ILoggerProvider> loggerProviders = host.Services.GetService<IEnumerable<ILoggerProvider>>();
220223

221-
Assert.Equal(5, loggerProviders.Count());
224+
Assert.Equal(6, loggerProviders.Count());
222225
loggerProviders.OfType<SystemLoggerProvider>().Single();
223226
loggerProviders.OfType<HostFileLoggerProvider>().Single();
224227
loggerProviders.OfType<FunctionFileLoggerProvider>().Single();
225228
loggerProviders.OfType<ConsoleLoggerProvider>().Single();
226229
loggerProviders.OfType<UserLogMetricsLoggerProvider>().Single();
230+
loggerProviders.OfType<NullLoggerProvider>().Single();
227231
}
228232

229233
[Fact]
@@ -242,12 +246,36 @@ public void LoggerProviders_ApplicationInsights()
242246

243247
IEnumerable<ILoggerProvider> loggerProviders = host.Services.GetService<IEnumerable<ILoggerProvider>>();
244248

245-
Assert.Equal(5, loggerProviders.Count());
249+
Assert.Equal(6, loggerProviders.Count());
246250
loggerProviders.OfType<SystemLoggerProvider>().Single();
247251
loggerProviders.OfType<HostFileLoggerProvider>().Single();
248252
loggerProviders.OfType<FunctionFileLoggerProvider>().Single();
249253
loggerProviders.OfType<ApplicationInsightsLoggerProvider>().Single();
250254
loggerProviders.OfType<UserLogMetricsLoggerProvider>().Single();
255+
loggerProviders.OfType<NullLoggerProvider>().Single();
256+
}
257+
258+
[Fact]
259+
public void LoggerProviders_AzureMonitor()
260+
{
261+
IHost host = new HostBuilder()
262+
.ConfigureDefaultTestWebScriptHost()
263+
.ConfigureServices(s =>
264+
{
265+
TestEnvironment environment = new TestEnvironment();
266+
environment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteHostName, "something.azurewebsites.net");
267+
s.AddSingleton<IEnvironment>(environment);
268+
})
269+
.Build();
270+
271+
IEnumerable<ILoggerProvider> loggerProviders = host.Services.GetService<IEnumerable<ILoggerProvider>>();
272+
273+
Assert.Equal(5, loggerProviders.Count());
274+
loggerProviders.OfType<SystemLoggerProvider>().Single();
275+
loggerProviders.OfType<HostFileLoggerProvider>().Single();
276+
loggerProviders.OfType<FunctionFileLoggerProvider>().Single();
277+
loggerProviders.OfType<UserLogMetricsLoggerProvider>().Single();
278+
loggerProviders.OfType<AzureMonitorDiagnosticLoggerProvider>().Single();
251279
}
252280
}
253281
}

0 commit comments

Comments
 (0)