refactor(logger): choose the console backend with build tags

The runtime.GOOS switch compiled the syslog branch into Windows builds,
where go-logging's syslog stub always returns an error. staticcheck
therefore reported SA4023 at logger.go:95 on every Windows lint run,
keeping `make lint-go` red on a clean main there while Linux CI never
saw it. console_windows.go and console_other.go now pick the backend at
build time, with each platform's behaviour unchanged.

No test can observe build-tag selection: `golangci-lint run` on Windows
goes from 1 issue to 0, and `GOOS=linux golangci-lint run
./internal/logger/...` stays clean.
This commit is contained in:
MHSanaei
2026-09-27 15:05:01 +02:00
parent 7aa5fc085f
commit a579357343
3 changed files with 36 additions and 22 deletions
+14
View File
@@ -0,0 +1,14 @@
//go:build windows
package logger
import (
"os"
"github.com/op/go-logging"
)
// newConsoleBackend logs to stderr: go-logging has no syslog on Windows.
func newConsoleBackend() (backend logging.Backend, includeTime bool) {
return logging.NewLogBackend(os.Stderr, "", 0), true
}