Reduce verbosity in sonarscanner for .net

We have repos in .NET 10 where we are using dotnet sonarscanner (version 11.2.1) to analyze the code (in AWS CODEBUILD), the configuration of sonar is currently like this:

dotnet sonarscanner begin
/k:"project"
/v:"$CODEBUILD_BUILD_NUMBER"
/n:"project"
/o:"organization"
/d:"sonar.coverageReportPaths=src/test-results/coveragereport/SonarQube.xml"
/d:"sonar.host.url=https://sonarcloud.io"
/d:"sonar.token=$SONAR_TOKEN"
/d:"sonar.language=cs"
/d:"sonar.scanner.scanAll=false"
/d:"sonar.branch.name=$BRANCHNAME"
/d:"sonar.sourceEncoding=UTF-8"
/d:"sonar.exclusions="

dotnet sonarscanner end
/d:"sonar.token=$SONAR_TOKEN"

With that configuration sonarscanner end writes about 5k lines of INFO logs that is just noise and makes it difficult to find an error, and example of such logs are this:

15:08:06.006 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/53/output-cs’
15:08:06.008 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/60/output-cs’
15:08:06.009 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/63/output-cs’
15:08:06.010 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/70/output-cs’
15:08:06.012 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/20/output-cs’
15:08:06.012 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/62/output-cs’
15:08:06.013 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/61/output-cs’
15:08:06.014 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/73/output-cs’
15:08:06.015 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/41/output-cs’
15:08:06.017 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/67/output-cs’
15:08:06.018 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/66/output-cs’
15:08:06.021 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/34/output-cs’
15:08:06.022 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/43/output-cs’
15:08:06.023 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/33/output-cs’
15:08:06.026 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/47/output-cs’
15:08:06.028 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/71/output-cs’
15:08:06.029 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/49/output-cs’
15:08:06.032 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/31/output-cs’
15:08:06.032 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/78/output-cs’
15:08:06.033 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/1/output-cs’
15:08:06.033 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/8/output-cs’
15:08:06.034 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/27/output-cs’
15:08:06.051 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/52/output-cs’
15:08:06.052 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/39/output-cs’
15:08:06.052 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/28/output-cs’
15:08:06.053 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/46/output-cs’
15:08:06.055 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/58/output-cs’
15:08:06.056 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/72/output-cs’
15:08:06.057 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/38/output-cs’
15:08:06.058 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/42/output-cs’
15:08:06.059 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/10/output-cs’
15:08:06.059 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/85/output-cs’
15:08:06.060 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/16/output-cs’
15:08:06.060 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/87/output-cs’
15:08:06.062 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/50/output-cs’
15:08:06.063 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/81/output-cs’
15:08:06.064 INFO: Importing results from 8 proto files in ‘/codebuild/output/src1114422135/src/github.com/redacted/.sonarqube/out/11/output-cs’

Is there way to reduce the logs just for warnings and errors? tried adding this line /d:“sonar.log.level=WARN” but it didnt make a difference, and besides the noise in the consolo those logs are being processed by CloudWatch so its costing us money.

Currently we have this dotnet sonarscanner end >/dev/null 2>&1 to void all those logs with the issue that if something fails we are in the dark.

Hi,

did you already try to set d:sonar.verbose=false?

Source: SonarScanner for .NET | SonarQube Server 9.8 | Sonar Documentation

Seems like INFO is the highest possible level to define according to the docs - see Logging

It didn’t make any difference in the amount of logs

Hi @JuanZamudioGBM ,

Thanks for the feedback!
There is no inbuilt way to reduce the verbosity of the scanner, but I will be converting that particular line into a debug log.

I can’t guarantee results but rather than dotnet sonarscanner end >/dev/null 2>&1 you could grep/select the output so that warnings/errors are still logged.

Something like dotnet sonarscanner end 2>&1 | grep -iE "WARN|ERROR"
For powershell dotnet sonarscanner end 2>&1 | Select-String -Pattern "WARN|ERROR"

that was it, thank you for your help