mirror of https://github.com/docker/docs.git
75 lines
1.5 KiB
Go
75 lines
1.5 KiB
Go
package log
|
|
|
|
import (
|
|
"io"
|
|
"regexp"
|
|
)
|
|
|
|
const redactedText = "<REDACTED>"
|
|
|
|
var (
|
|
logger = NewFmtMachineLogger()
|
|
|
|
// (?s) enables '.' to match '\n' -- see https://golang.org/pkg/regexp/syntax/
|
|
certRegex = regexp.MustCompile("(?s)-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----")
|
|
keyRegex = regexp.MustCompile("(?s)-----BEGIN RSA PRIVATE KEY-----.*-----END RSA PRIVATE KEY-----")
|
|
)
|
|
|
|
func stripSecrets(original []string) []string {
|
|
stripped := []string{}
|
|
for _, line := range original {
|
|
line = certRegex.ReplaceAllString(line, redactedText)
|
|
line = keyRegex.ReplaceAllString(line, redactedText)
|
|
stripped = append(stripped, line)
|
|
}
|
|
return stripped
|
|
}
|
|
|
|
func Debug(args ...interface{}) {
|
|
logger.Debug(args...)
|
|
}
|
|
|
|
func Debugf(fmtString string, args ...interface{}) {
|
|
logger.Debugf(fmtString, args...)
|
|
}
|
|
|
|
func Error(args ...interface{}) {
|
|
logger.Error(args...)
|
|
}
|
|
|
|
func Errorf(fmtString string, args ...interface{}) {
|
|
logger.Errorf(fmtString, args...)
|
|
}
|
|
|
|
func Info(args ...interface{}) {
|
|
logger.Info(args...)
|
|
}
|
|
|
|
func Infof(fmtString string, args ...interface{}) {
|
|
logger.Infof(fmtString, args...)
|
|
}
|
|
|
|
func Warn(args ...interface{}) {
|
|
logger.Warn(args...)
|
|
}
|
|
|
|
func Warnf(fmtString string, args ...interface{}) {
|
|
logger.Warnf(fmtString, args...)
|
|
}
|
|
|
|
func SetDebug(debug bool) {
|
|
logger.SetDebug(debug)
|
|
}
|
|
|
|
func SetOutWriter(out io.Writer) {
|
|
logger.SetOutWriter(out)
|
|
}
|
|
|
|
func SetErrWriter(err io.Writer) {
|
|
logger.SetErrWriter(err)
|
|
}
|
|
|
|
func History() []string {
|
|
return stripSecrets(logger.History())
|
|
}
|