Skip to content

Commit 4628bbe

Browse files
author
Manikanta Nallagatla
committed
clean code
1 parent 39b7f2c commit 4628bbe

File tree

3 files changed

+24
-25
lines changed

3 files changed

+24
-25
lines changed

src/WebJobs.Script.WebHost/Diagnostics/AzureMonitorDiagnosticLogger.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ public AzureMonitorDiagnosticLogger(string category, string hostInstanceId, IEve
5454

5555
public bool IsEnabled(LogLevel logLevel)
5656
{
57-
if ((_environment.IsFlexConsumptionSku() || _environment.IsLinuxConsumptionOnLegion())
58-
&& !_environment.IsAzureMonitorEnabledOnLegionSkus())
57+
if (_environment.IsLegionBasedSku() && !_environment.IsAzureMonitorEnabled(useCache:true))
5958
{
6059
return false;
6160
}

src/WebJobs.Script.WebHost/WebScriptHostBuilderExtension.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,9 @@ public static IHostBuilder AddWebScriptHost(this IHostBuilder builder, IServiceP
9595
loggingBuilder.AddWebJobsSystem<SystemLoggerProvider>();
9696
if (environment.IsAzureMonitorEnabled())
9797
{
98-
loggingBuilder.Services.AddOptions<LoggerFilterOptions>()
98+
if (environment.IsLegionBasedSku())
99+
{
100+
loggingBuilder.Services.AddOptions<LoggerFilterOptions>()
99101
.Configure<IConfiguration>((options, config) =>
100102
{
101103
string setting = config[EnvironmentSettingNames.AzureMonitorCategories];
@@ -109,8 +111,11 @@ public static IHostBuilder AddWebScriptHost(this IHostBuilder builder, IServiceP
109111
return categories.Contains(ScriptConstants.AzureMonitorTraceCategory);
110112
});
111113
});
112-
113-
loggingBuilder.Services.AddSingleton<ILoggerProvider, AzureMonitorDiagnosticLoggerProvider>();
114+
}
115+
else
116+
{
117+
loggingBuilder.Services.AddSingleton<ILoggerProvider, AzureMonitorDiagnosticLoggerProvider>();
118+
}
114119
}
115120

116121
if (!FeatureFlags.IsEnabled(ScriptConstants.FeatureFlagDisableDiagnosticEventLogging))

src/WebJobs.Script/Environment/EnvironmentExtensions.cs

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -69,21 +69,7 @@ public static bool IsEasyAuthEnabled(this IEnvironment environment)
6969
/// <summary>
7070
/// Returns true if any Functions AzureMonitor log categories are enabled.
7171
/// </summary>
72-
public static bool IsAzureMonitorEnabled(this IEnvironment environment)
73-
{
74-
string value = environment.GetEnvironmentVariable(AzureMonitorCategories);
75-
if (value == null)
76-
{
77-
return true;
78-
}
79-
string[] categories = value.Split(',');
80-
return categories.Contains(ScriptConstants.AzureMonitorTraceCategory);
81-
}
82-
83-
/// <summary>
84-
/// Returns true if any Functions AzureMonitor log categories are enabled on legion based SKUs.
85-
/// </summary>
86-
public static bool IsAzureMonitorEnabledOnLegionSkus(this IEnvironment environment)
72+
public static bool IsAzureMonitorEnabled(this IEnvironment environment, bool useCache=false)
8773
{
8874
string value = environment.GetEnvironmentVariable(AzureMonitorCategories);
8975
if (value == null)
@@ -96,13 +82,12 @@ public static bool IsAzureMonitorEnabledOnLegionSkus(this IEnvironment environme
9682
// This is set when customer does not subscribe any category.
9783
return false;
9884
}
99-
// If control came here, it means customer has subscribed to someazure monitor log categories.
100-
// So, cache whether FunctionsLogs category is subscribed.
101-
if (isAzureMonitorLogsSubscribed == null)
85+
if (useCache && isAzureMonitorLogsSubscribed != null)
10286
{
103-
string[] categories = value.Split(',');
104-
isAzureMonitorLogsSubscribed = categories.Contains(ScriptConstants.AzureMonitorTraceCategory);
87+
return isAzureMonitorLogsSubscribed.Value;
10588
}
89+
string[] categories = value.Split(',');
90+
isAzureMonitorLogsSubscribed = categories.Contains(ScriptConstants.AzureMonitorTraceCategory);
10691
return isAzureMonitorLogsSubscribed.Value;
10792
}
10893

@@ -279,6 +264,16 @@ public static bool IsFlexConsumptionSku(this IEnvironment environment)
279264
return !environment.WebsiteSkuIsDynamic();
280265
}
281266

267+
/// <summary>
268+
/// Gets a value indicating whether the application is running in Legion.
269+
/// </summary>
270+
/// <param name="environment">The environment to verify.</param>
271+
/// <returns><see cref="true"/> if running on legion, false otherwise.</returns>
272+
public static bool IsLegionBasedSku(this IEnvironment environment)
273+
{
274+
return environment.IsFlexConsumptionSku() || environment.IsLinuxConsumptionOnLegion();
275+
}
276+
282277
/// <summary>
283278
/// Returns true if the app is running on Virtual Machine Scale Sets (VMSS).
284279
/// </summary>

0 commit comments

Comments
 (0)