All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sonar.plugins.csharp.S6423.html Maven / Gradle / Ivy

There is a newer version: 10.2.0.105762
Show newest version

Why is this an issue?

Capturing and logging errors is critical to monitoring the health of your Azure Functions application.

Each catch block inside an Azure Function should log helpful details about the failure. Moreover, the logging should not be done at Debug or Trace level.

Consider using the built-in integration with Application Insights for better monitoring of your Application.

Noncompliant code example

[FunctionName("Foo")]
public static async Task<IActionResult> Run(
	[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
	ILogger log)
{
	try
	{
		// do stuff that can fail
	}
	catch (Exception ex)
	{
		// the failure is not logged at all OR is logged at DEBUG/TRACE level
	}
}

Compliant solution

[FunctionName("Foo")]
public static async Task<IActionResult> Run(
	[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
	ILogger log)
{
	try
	{
		// do stuff that can fail
	}
	catch (Exception ex)
	{
		log.LogError(ex, "Give details that will help investigations");
	}
}

Resources





© 2015 - 2024 Weber Informatics LLC | Privacy Policy