qmp-testing-suite/golang-producer-consumer/vendor/gitlab-app.eng.qops.net/golang/qmp/qsl/logger/logger.go

51 lines
1.2 KiB
Go
Executable File

// Package logger wraps ripsaw-logger-golang calls.
package logger
import (
"fmt"
ripsawlogger "gitlab-app.eng.qops.net/reporting-framework/ripsaw-logger-golang"
)
type stdOutLogger struct{}
const errorLogsPrefix string = "qmp-go"
// Configure sets up the vendored ripsawlogger to write logs to the correct place.
func Configure(logDir *string) {
ripsawlogger.Configure([]ripsawlogger.Logger{
ripsawlogger.NewAsyncLogger(ripsawlogger.NewJSONLogger(ripsawlogger.JSONLoggerConfig{
Prefix: errorLogsPrefix,
Directory: *logDir,
})),
})
}
// Log writes in magenta to stderr, followed by a newline. It also
// does an .Info in ripsawlogger.
func Log(a ...interface{}) {
v := fmt.Sprintf("%v", a)
// v is [a[0] a[1] a[2]...]. Trim the '[' and ']'
v = v[1 : len(v)-1]
ripsawlogger.Info(v)
return
}
// Warn writes in red to stderr, followed by a newline. It also
// does a .Warn() in ripsawlogger.
func Warn(a ...interface{}) {
v := fmt.Sprintf("%v", a)
v = v[1 : len(v)-1]
ripsawlogger.Warn(v)
return
}
// Debug writes in black to stderr, followed by a newline. It also
// does an .Info in ripsawlogger.
func Debug(a ...interface{}) {
v := fmt.Sprintf("%v", a)
v = v[1 : len(v)-1]
ripsawlogger.Info(v)
return
}