2022-03-17 00:33:59 +00:00
|
|
|
// Package logger provides methods and interfaces used by other stash packages for logging purposes.
|
2019-02-09 12:30:49 +00:00
|
|
|
package logger
|
|
|
|
|
|
|
|
import (
|
2019-10-25 00:13:44 +00:00
|
|
|
"os"
|
2019-02-09 12:30:49 +00:00
|
|
|
)
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// LoggerImpl is the interface that groups logging methods.
|
|
|
|
//
|
|
|
|
// Progressf logs using a specific progress format.
|
|
|
|
// Trace, Debug, Info, Warn and Error log to the applicable log level. Arguments are handled in the manner of fmt.Print.
|
|
|
|
// Tracef, Debugf, Infof, Warnf, Errorf log to the applicable log level. Arguments are handled in the manner of fmt.Printf.
|
|
|
|
// Fatal and Fatalf log to the applicable log level, then call os.Exit(1).
|
|
|
|
type LoggerImpl interface {
|
|
|
|
Progressf(format string, args ...interface{})
|
2021-10-14 23:38:32 +00:00
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
Trace(args ...interface{})
|
|
|
|
Tracef(format string, args ...interface{})
|
2019-10-25 00:13:44 +00:00
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
Debug(args ...interface{})
|
|
|
|
Debugf(format string, args ...interface{})
|
2019-10-25 00:13:44 +00:00
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
Info(args ...interface{})
|
|
|
|
Infof(format string, args ...interface{})
|
2019-10-25 00:13:44 +00:00
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
Warn(args ...interface{})
|
|
|
|
Warnf(format string, args ...interface{})
|
2019-10-25 00:13:44 +00:00
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
Error(args ...interface{})
|
|
|
|
Errorf(format string, args ...interface{})
|
2019-10-25 00:13:44 +00:00
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
Fatal(args ...interface{})
|
|
|
|
Fatalf(format string, args ...interface{})
|
2019-10-25 00:13:44 +00:00
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Logger is the LoggerImpl used when calling the global Logger functions.
|
|
|
|
// It is suggested to use the LoggerImpl interface directly, rather than calling global log functions.
|
|
|
|
var Logger LoggerImpl
|
2019-02-09 12:30:49 +00:00
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Progressf calls Progressf with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-09 12:30:49 +00:00
|
|
|
func Progressf(format string, args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Progressf(format, args...)
|
2019-02-11 22:44:13 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Trace calls Trace with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-11 22:44:13 +00:00
|
|
|
func Trace(args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Trace(args...)
|
2021-09-19 00:06:34 +00:00
|
|
|
}
|
2019-02-09 12:30:49 +00:00
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Tracef calls Tracef with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2020-07-07 00:35:43 +00:00
|
|
|
func Tracef(format string, args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Tracef(format, args...)
|
2020-07-07 00:35:43 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Debug calls Debug with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-09 12:30:49 +00:00
|
|
|
func Debug(args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Debug(args...)
|
2019-02-11 22:44:13 +00:00
|
|
|
}
|
2019-02-09 12:30:49 +00:00
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Debugf calls Debugf with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-09 12:30:49 +00:00
|
|
|
func Debugf(format string, args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Debugf(format, args...)
|
2019-02-11 22:44:13 +00:00
|
|
|
}
|
2019-02-09 12:30:49 +00:00
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Info calls Info with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-09 12:30:49 +00:00
|
|
|
func Info(args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Info(args...)
|
2019-02-11 22:44:13 +00:00
|
|
|
}
|
2019-02-09 12:30:49 +00:00
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Infof calls Infof with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-09 12:30:49 +00:00
|
|
|
func Infof(format string, args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Infof(format, args...)
|
2019-02-11 22:44:13 +00:00
|
|
|
}
|
2019-02-09 12:30:49 +00:00
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Warn calls Warn with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-09 12:30:49 +00:00
|
|
|
func Warn(args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Warn(args...)
|
2019-02-11 22:44:13 +00:00
|
|
|
}
|
2019-02-09 12:30:49 +00:00
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Warnf calls Warnf with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-09 12:30:49 +00:00
|
|
|
func Warnf(format string, args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Warnf(format, args...)
|
2019-02-11 22:44:13 +00:00
|
|
|
}
|
2019-02-09 12:30:49 +00:00
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Error calls Error with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-09 12:30:49 +00:00
|
|
|
func Error(args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Error(args...)
|
2019-02-11 22:44:13 +00:00
|
|
|
}
|
2019-02-09 12:30:49 +00:00
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Errorf calls Errorf with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-09 12:30:49 +00:00
|
|
|
func Errorf(format string, args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Errorf(format, args...)
|
2019-02-11 22:44:13 +00:00
|
|
|
}
|
2019-02-09 12:30:49 +00:00
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Fatal calls Fatal with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-09 12:30:49 +00:00
|
|
|
func Fatal(args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Fatal(args...)
|
|
|
|
} else {
|
|
|
|
os.Exit(1)
|
|
|
|
}
|
2019-02-09 12:30:49 +00:00
|
|
|
}
|
|
|
|
|
2022-03-17 00:33:59 +00:00
|
|
|
// Fatalf calls Fatalf with the Logger registered using RegisterLogger.
|
|
|
|
// If no logger has been registered, then this function is a no-op.
|
2019-02-09 12:30:49 +00:00
|
|
|
func Fatalf(format string, args ...interface{}) {
|
2022-03-17 00:33:59 +00:00
|
|
|
if Logger != nil {
|
|
|
|
Logger.Fatalf(format, args...)
|
|
|
|
} else {
|
|
|
|
os.Exit(1)
|
|
|
|
}
|
2019-02-09 12:30:49 +00:00
|
|
|
}
|