Skip to content

Commit 14d46af

Browse files
author
Manikanta Nallagatla
committed
clean code
1 parent 12bba78 commit 14d46af

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
@@ -68,21 +68,7 @@ public static bool IsEasyAuthEnabled(this IEnvironment environment)
6868
/// <summary>
6969
/// Returns true if any Functions AzureMonitor log categories are enabled.
7070
/// </summary>
71-
public static bool IsAzureMonitorEnabled(this IEnvironment environment)
72-
{
73-
string value = environment.GetEnvironmentVariable(AzureMonitorCategories);
74-
if (value == null)
75-
{
76-
return true;
77-
}
78-
string[] categories = value.Split(',');
79-
return categories.Contains(ScriptConstants.AzureMonitorTraceCategory);
80-
}
81-
82-
/// <summary>
83-
/// Returns true if any Functions AzureMonitor log categories are enabled on legion based SKUs.
84-
/// </summary>
85-
public static bool IsAzureMonitorEnabledOnLegionSkus(this IEnvironment environment)
71+
public static bool IsAzureMonitorEnabled(this IEnvironment environment, bool useCache=false)
8672
{
8773
string value = environment.GetEnvironmentVariable(AzureMonitorCategories);
8874
if (value == null)
@@ -95,13 +81,12 @@ public static bool IsAzureMonitorEnabledOnLegionSkus(this IEnvironment environme
9581
// This is set when customer does not subscribe any category.
9682
return false;
9783
}
98-
// If control came here, it means customer has subscribed to someazure monitor log categories.
99-
// So, cache whether FunctionsLogs category is subscribed.
100-
if (isAzureMonitorLogsSubscribed == null)
84+
if (useCache && isAzureMonitorLogsSubscribed != null)
10185
{
102-
string[] categories = value.Split(',');
103-
isAzureMonitorLogsSubscribed = categories.Contains(ScriptConstants.AzureMonitorTraceCategory);
86+
return isAzureMonitorLogsSubscribed.Value;
10487
}
88+
string[] categories = value.Split(',');
89+
isAzureMonitorLogsSubscribed = categories.Contains(ScriptConstants.AzureMonitorTraceCategory);
10590
return isAzureMonitorLogsSubscribed.Value;
10691
}
10792

@@ -278,6 +263,16 @@ public static bool IsFlexConsumptionSku(this IEnvironment environment)
278263
return !environment.WebsiteSkuIsDynamic();
279264
}
280265

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

0 commit comments

Comments
 (0)