Skip to content

Commit 49b411e

Browse files
Update severity of Rosyln analyser for LogDiagnostics
Update severity of Rosyln analyser for LogDiagnostics
2 parents a95b6e9 + 46b27b3 commit 49b411e

File tree

3 files changed

+16
-17
lines changed

3 files changed

+16
-17
lines changed

src/NServiceBus.AzureFunctions.Worker.Analyzer.Tests/ConfigurationAnalyzerTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ void Bar(ServiceBusTriggeredEndpointConfiguration endpointConfig)
8585
}
8686
}";
8787

88-
return Assert(LogDiagnosticsNotRecommendedId, source);
88+
return Assert(LogDiagnosticsInfoId, source);
8989
}
9090

9191
[Test]
@@ -108,6 +108,6 @@ void Bar(SomeOtherClass otherClass)
108108
}
109109
}";
110110

111-
return Assert(LogDiagnosticsNotRecommendedId, source);
111+
return Assert(LogDiagnosticsInfoId, source);
112112
}
113113
}

src/NServiceBus.AzureFunctions.Worker.Analyzer/AzureFunctionsDiagnostics.cs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public static class AzureFunctionsDiagnostics
2121
public const string PrefetchCountNotAllowedId = "NSBWFUNC015";
2222
public const string PrefetchMultiplierNotAllowedId = "NSBWFUNC016";
2323
public const string TimeToWaitBeforeTriggeringCircuitBreakerNotAllowedId = "NSBWFUNC017";
24-
public const string LogDiagnosticsNotRecommendedId = "NSBWFUNC018";
24+
public const string LogDiagnosticsInfoId = "NSBWFUNC018";
2525

2626
const string DiagnosticCategory = "NServiceBus.AzureFunctions";
2727

@@ -175,15 +175,14 @@ public static class AzureFunctionsDiagnostics
175175
isEnabledByDefault: true
176176
);
177177

178-
internal static readonly DiagnosticDescriptor LogDiagnosticsNotRecommended = new DiagnosticDescriptor(
179-
id: LogDiagnosticsNotRecommendedId,
180-
title: "LogDiagnostics is not recommended in Azure Functions",
181-
messageFormat: "'LogDiagnostics' is not recommended in Azure Functions. Use 'AdvancedConfiguration.CustomDiagnosticsWriter' for more control over diagnostics output.",
182-
category: DiagnosticCategory,
183-
defaultSeverity: DiagnosticSeverity.Warning,
184-
isEnabledByDefault: true,
185-
description: "'LogDiagnostics()' in Azure Functions only outputs to the console and will not create a diagnostics file. Use 'AdvancedConfiguration.CustomDiagnosticsWriter' instead for full control over how and where diagnostics information is written.",
186-
helpLinkUri: "https://docs.particular.net/nservicebus/hosting/azure-functions-service-bus/#configuration-custom-diagnostics"
187-
);
178+
internal static readonly DiagnosticDescriptor LogDiagnosticsInfo = new DiagnosticDescriptor(
179+
id: LogDiagnosticsInfoId,
180+
title: "Default logging with 'LogDiagnostics()' will log to the built-in Azure Functions logs",
181+
messageFormat: "In Azure Functions, console output to the built-in logs is not persisted and may result in the loss of the diagnostic information. Consider using 'AdvancedConfiguration.CustomDiagnosticsWriter' for more control over diagnostics output.",
182+
category: DiagnosticCategory,
183+
defaultSeverity: DiagnosticSeverity.Info,
184+
isEnabledByDefault: true,
185+
helpLinkUri: "https://docs.particular.net/nservicebus/hosting/azure-functions-service-bus/#configuration-startup-diagnostics"
186+
);
188187
}
189188
}

src/NServiceBus.AzureFunctions.Worker.Analyzer/ConfigurationAnalyzer.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public class ConfigurationAnalyzer : DiagnosticAnalyzer
2626
AzureFunctionsDiagnostics.PrefetchMultiplierNotAllowed,
2727
AzureFunctionsDiagnostics.TimeToWaitBeforeTriggeringCircuitBreakerNotAllowed,
2828
AzureFunctionsDiagnostics.TransportTransactionModeNotAllowed,
29-
AzureFunctionsDiagnostics.LogDiagnosticsNotRecommended
29+
AzureFunctionsDiagnostics.LogDiagnosticsInfo
3030
);
3131

3232
static readonly Dictionary<string, DiagnosticDescriptor> NotAllowedEndpointConfigurationMethods
@@ -59,10 +59,10 @@ static readonly Dictionary<string, DiagnosticDescriptor> NotAllowedTransportSett
5959
["Transactions"] = AzureFunctionsDiagnostics.TransportTransactionModeNotAllowed
6060
};
6161

62-
static readonly Dictionary<string, DiagnosticDescriptor> NotRecommendedEndpointConfigurationMethods
62+
static readonly Dictionary<string, DiagnosticDescriptor> InfoEndpointConfigurationMethods
6363
= new Dictionary<string, DiagnosticDescriptor>
6464
{
65-
["LogDiagnostics"] = AzureFunctionsDiagnostics.LogDiagnosticsNotRecommended
65+
["LogDiagnostics"] = AzureFunctionsDiagnostics.LogDiagnosticsInfo
6666
};
6767

6868
public override void Initialize(AnalysisContext context)
@@ -183,7 +183,7 @@ static void AnalyzeTransportExtensions(SyntaxNodeAnalysisContext context, Invoca
183183

184184
static void AnalyzeLogDiagnostics(SyntaxNodeAnalysisContext context, InvocationExpressionSyntax invocationExpression, MemberAccessExpressionSyntax memberAccessExpression)
185185
{
186-
if (!NotRecommendedEndpointConfigurationMethods.TryGetValue(memberAccessExpression.Name.Identifier.Text, out var diagnosticDescriptor))
186+
if (!InfoEndpointConfigurationMethods.TryGetValue(memberAccessExpression.Name.Identifier.Text, out var diagnosticDescriptor))
187187
{
188188
return;
189189
}

0 commit comments

Comments
 (0)