Documentation
Scanner Quickstart
Use the GitHub Marketplace Action, the Azure DevOps Marketplace extension, or the local .NET tool. All three run the same Scanner engine and support report-only adoption before you enable CI gates.
GitHub Actions: add Cerbi Scanner from GitHub Marketplace
For GitHub repositories, the lowest-friction path is the published Cerbi Logging Governance Scanner Action. Add it after checkout; the Action sets up .NET 10, installs Cerbi Scanner 1.1.0 by default, runs on the GitHub Actions runner, and exposes JSON, SARIF, and Markdown report paths.
Open Cerbi Scanner in GitHub Marketplace
permissions:
contents: read
steps:
- uses: actions/checkout@v7
- name: Cerbi logging governance scan
uses: Zeroshi/cerbi-scanner-action@v1Privacy-safe defaults
fail-on: none.Azure DevOps: install from Visual Studio Marketplace
If your team uses Azure DevOps, install the free Cerbi Scanner extension in Visual Studio Marketplace, then add CerbiScan@1 to an existing pipeline.
Install Cerbi Scanner from Visual Studio Marketplace
steps:
- task: UseDotNet@2
displayName: Install .NET 10 SDK
inputs:
packageType: sdk
version: 10.0.x
- task: CerbiScan@1
displayName: Cerbi logging governance scan
inputs:
scanPath: $(Build.SourcesDirectory)
failOn: noneRecommended for Azure DevOps teams
Local CLI: install .NET 10 LTS
Cerbi Scanner 1.1.0 targets net10.0. A machine running the local global tool must have the .NET 10 LTS runtime; the SDK is the simplest option for developer machines and generic CI agents.
dotnet --versionThe command should report a 10.0.x SDK. .NET 8-only hosts must install .NET 10 before running the current local Scanner release.
Install the local CLI
dotnet tool install -g Cerbi.ScannerAfter installation, verify the CLI:
cerbi-scanner --version
cerbi-scanner --helpTo update an existing global-tool install:
dotnet tool update -g Cerbi.ScannerThe package is available on NuGet.
Run your first local scan
From the repository or source folder you want to inspect:
cerbi-scanner scan . --fail-on none--fail-on none is the safest first run: Scanner reports findings but does not fail the command because of finding severity.
Read-only by default
Generate CI-friendly reports
Generate JSON, SARIF, and a Markdown summary in one local CLI run:
mkdir -p scan-results
cerbi-scanner scan \
--path . \
--fail-on none \
--format json --output scan-results/findings.json \
--sarif scan-results/findings.sarif \
--summary scan-results/build-summary.mdGitHub Action users get the same report set automatically. When you are ready to use Scanner as a build gate, set fail-on: high or another supported threshold in the Action, or use the equivalent CLI threshold. See the CI/CD guide.
What Scanner analyzes today
| Language | Logging frameworks |
|---|---|
| C# / .NET | MEL, Serilog, NLog, log4net, Cerbi |
| Go | zap, zerolog |
| Java | Log4j2, SLF4J |
| Node / TypeScript | Winston, Pino |
| Python | stdlib logging, structlog |
Scanner uses one language-neutral finding contract across these implementations. For the current rule set, see Scanner rules.