doc: improve documentation about debugging. ()

This commit is contained in:
Ludovic Fernandez 2022-12-27 10:48:48 +01:00 committed by GitHub
parent ab8a120755
commit cca68dcffe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 15 deletions
docs/src/docs/contributing
pkg/logutils

@ -4,12 +4,21 @@ title: Debugging
You can see a verbose output of linter by using `-v` option.
If you would like to see more detailed logs you can set environment variable `GL_DEBUG` to debug `golangci-lint`.
It's value is a list of debug tags. For example, `GL_DEBUG=loader,gocritic golangci-lint run`.
Existing debug tags:
```bash
golangci-lint run -v
```
1. `gocritic` - debug `go-critic` linter;
2. `env` - debug `go env` command;
3. `loader` - debug packages loading (including `go/packages` internal debugging);
4. `autogen_exclude` - debug a filter excluding autogenerated source code;
5. `nolint` - debug a filter excluding issues by `//nolint` comments.
If you would like to see more detailed logs you can use the environment variable `GL_DEBUG`.
Its value is a list of debug tags.
The existing debug tags are documented in the following file: https://github.com/golangci/golangci-lint/blob/master/pkg/logutils/logutils.go
For example:
```bash
GL_DEBUG="loader,gocritic" golangci-lint run
```
```bash
GL_DEBUG="loader,env" golangci-lint run
```

@ -13,12 +13,12 @@ import (
const envDebug = "GL_DEBUG"
const (
DebugKeyAutogenExclude = "autogen_exclude"
DebugKeyAutogenExclude = "autogen_exclude" // Debugs a filter excluding autogenerated source code.
DebugKeyBinSalt = "bin_salt"
DebugKeyConfigReader = "config_reader"
DebugKeyEmpty = ""
DebugKeyEnabledLinters = "enabled_linters"
DebugKeyEnv = "env"
DebugKeyEnv = "env" // Debugs `go env` command.
DebugKeyExcludeRules = "exclude_rules"
DebugKeyExec = "exec"
DebugKeyFilenameUnadjuster = "filename_unadjuster"
@ -27,7 +27,7 @@ const (
DebugKeyLintersContext = "linters_context"
DebugKeyLintersDB = "lintersdb"
DebugKeyLintersOutput = "linters_output"
DebugKeyLoader = "loader"
DebugKeyLoader = "loader" // Debugs packages loading (including `go/packages` internal debugging).
DebugKeyMaxFromLinter = "max_from_linter"
DebugKeyMaxSameIssues = "max_same_issues"
DebugKeyPkgCache = "pkgcache"
@ -55,10 +55,10 @@ const (
)
const (
DebugKeyGoCritic = "gocritic"
DebugKeyMegacheck = "megacheck"
DebugKeyNolint = "nolint"
DebugKeyRevive = "revive"
DebugKeyGoCritic = "gocritic" // Debugs `go-critic` linter.
DebugKeyMegacheck = "megacheck" // Debugs `staticcheck` related linters.
DebugKeyNolint = "nolint" // Debugs a filter excluding issues by `//nolint` comments.
DebugKeyRevive = "revive" // Debugs `revice` linter.
)
func getEnabledDebugs() map[string]bool {