Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ void Bar(ServiceBusTriggeredEndpointConfiguration endpointConfig)
}
}";

return Assert(LogDiagnosticsNotRecommendedId, source);
return Assert(LogDiagnosticsInfoId, source);
}

[Test]
Expand All @@ -108,6 +108,6 @@ void Bar(SomeOtherClass otherClass)
}
}";

return Assert(LogDiagnosticsNotRecommendedId, source);
return Assert(LogDiagnosticsInfoId, source);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public static class AzureFunctionsDiagnostics
public const string PrefetchCountNotAllowedId = "NSBWFUNC015";
public const string PrefetchMultiplierNotAllowedId = "NSBWFUNC016";
public const string TimeToWaitBeforeTriggeringCircuitBreakerNotAllowedId = "NSBWFUNC017";
public const string LogDiagnosticsNotRecommendedId = "NSBWFUNC018";
public const string LogDiagnosticsInfoId = "NSBWFUNC018";

const string DiagnosticCategory = "NServiceBus.AzureFunctions";

Expand Down Expand Up @@ -175,15 +175,14 @@ public static class AzureFunctionsDiagnostics
isEnabledByDefault: true
);

internal static readonly DiagnosticDescriptor LogDiagnosticsNotRecommended = new DiagnosticDescriptor(
id: LogDiagnosticsNotRecommendedId,
title: "LogDiagnostics is not recommended in Azure Functions",
messageFormat: "'LogDiagnostics' is not recommended in Azure Functions. Use 'AdvancedConfiguration.CustomDiagnosticsWriter' for more control over diagnostics output.",
category: DiagnosticCategory,
defaultSeverity: DiagnosticSeverity.Warning,
isEnabledByDefault: true,
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.",
helpLinkUri: "https://docs.particular.net/nservicebus/hosting/azure-functions-service-bus/#configuration-custom-diagnostics"
);
internal static readonly DiagnosticDescriptor LogDiagnosticsInfo = new DiagnosticDescriptor(
id: LogDiagnosticsInfoId,
title: "Default logging with 'LogDiagnostics()' will log to the built-in Azure Functions logs",
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.",
category: DiagnosticCategory,
defaultSeverity: DiagnosticSeverity.Info,
isEnabledByDefault: true,
helpLinkUri: "https://docs.particular.net/nservicebus/hosting/azure-functions-service-bus/#configuration-startup-diagnostics"
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class ConfigurationAnalyzer : DiagnosticAnalyzer
AzureFunctionsDiagnostics.PrefetchMultiplierNotAllowed,
AzureFunctionsDiagnostics.TimeToWaitBeforeTriggeringCircuitBreakerNotAllowed,
AzureFunctionsDiagnostics.TransportTransactionModeNotAllowed,
AzureFunctionsDiagnostics.LogDiagnosticsNotRecommended
AzureFunctionsDiagnostics.LogDiagnosticsInfo
);

static readonly Dictionary<string, DiagnosticDescriptor> NotAllowedEndpointConfigurationMethods
Expand Down Expand Up @@ -59,10 +59,10 @@ static readonly Dictionary<string, DiagnosticDescriptor> NotAllowedTransportSett
["Transactions"] = AzureFunctionsDiagnostics.TransportTransactionModeNotAllowed
};

static readonly Dictionary<string, DiagnosticDescriptor> NotRecommendedEndpointConfigurationMethods
static readonly Dictionary<string, DiagnosticDescriptor> InfoEndpointConfigurationMethods
= new Dictionary<string, DiagnosticDescriptor>
{
["LogDiagnostics"] = AzureFunctionsDiagnostics.LogDiagnosticsNotRecommended
["LogDiagnostics"] = AzureFunctionsDiagnostics.LogDiagnosticsInfo
};

public override void Initialize(AnalysisContext context)
Expand Down Expand Up @@ -183,7 +183,7 @@ static void AnalyzeTransportExtensions(SyntaxNodeAnalysisContext context, Invoca

static void AnalyzeLogDiagnostics(SyntaxNodeAnalysisContext context, InvocationExpressionSyntax invocationExpression, MemberAccessExpressionSyntax memberAccessExpression)
{
if (!NotRecommendedEndpointConfigurationMethods.TryGetValue(memberAccessExpression.Name.Identifier.Text, out var diagnosticDescriptor))
if (!InfoEndpointConfigurationMethods.TryGetValue(memberAccessExpression.Name.Identifier.Text, out var diagnosticDescriptor))
{
return;
}
Expand Down
Loading