A logger on built on top of zerolog that can mask sensitive values in the output.
go get github.com/chiselwright/go-maskedlog
package main
import (
"fmt"
"github.com/chiselwright/go-maskedlog"
)
func main() {
logger := maskedlog.GetSingleton()
val := "MySekritWurd"
logger.AddSensitiveValue(val)
logger.LogWarn(fmt.Sprintf("Failed to authenticate with password: %q", val))
}
will result in something similar to:
❯ go run .
{"level":"warn","time":"2021-01-06T21:25:19Z","message":"Failed to authenticate with password: \"MySexxxxWurd\""}