97 lines
2.2 KiB
Go
97 lines
2.2 KiB
Go
package logger
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
var (
|
|
_ Logger = (*logger)(nil)
|
|
)
|
|
|
|
type logger struct {
|
|
logger *logrus.Entry
|
|
}
|
|
|
|
func newLogger(name string) *logger {
|
|
l := logrus.New()
|
|
l.SetOutput(os.Stdout)
|
|
|
|
gl := &logger{
|
|
logger: l.WithFields(logrus.Fields{
|
|
logFieldScope: name,
|
|
}),
|
|
}
|
|
|
|
return gl
|
|
}
|
|
|
|
// EnableJSONOutput enables JSON formatted output log.
|
|
func (l *logger) EnableJSONOutput(enabled bool) {
|
|
|
|
}
|
|
|
|
// SetOutputLevel sets log output level
|
|
func (l *logger) SetLevel(level LogLevel) {
|
|
lvl, _ := logrus.ParseLevel(string(level))
|
|
l.logger.Logger.SetLevel(lvl)
|
|
}
|
|
|
|
// WithFields adds new fields to log.
|
|
func (l *logger) WithFields(fields map[string]interface{}) Logger {
|
|
return &logger{
|
|
logger: l.logger.WithFields(logrus.Fields(fields)),
|
|
}
|
|
}
|
|
|
|
// Info logs a message at level Info.
|
|
func (l *logger) Info(args ...interface{}) {
|
|
l.logger.Log(logrus.InfoLevel, args...)
|
|
}
|
|
|
|
// Infof logs a message at level Info.
|
|
func (l *logger) Infof(format string, args ...interface{}) {
|
|
l.logger.Logf(logrus.InfoLevel, format, args...)
|
|
}
|
|
|
|
// Debug logs a message at level Debug.
|
|
func (l *logger) Debug(args ...interface{}) {
|
|
l.logger.Log(logrus.DebugLevel, args...)
|
|
}
|
|
|
|
// Debugf logs a message at level Debug.
|
|
func (l *logger) Debugf(format string, args ...interface{}) {
|
|
l.logger.Logf(logrus.DebugLevel, format, args...)
|
|
}
|
|
|
|
// Warn logs a message at level Warn.
|
|
func (l *logger) Warn(args ...interface{}) {
|
|
l.logger.Log(logrus.WarnLevel, args...)
|
|
}
|
|
|
|
// Warnf logs a message at level Warn.
|
|
func (l *logger) Warnf(format string, args ...interface{}) {
|
|
l.logger.Logf(logrus.WarnLevel, format, args...)
|
|
}
|
|
|
|
// Error logs a message at level Error.
|
|
func (l *logger) Error(args ...interface{}) {
|
|
l.logger.Log(logrus.ErrorLevel, args...)
|
|
}
|
|
|
|
// Errorf logs a message at level Error.
|
|
func (l *logger) Errorf(format string, args ...interface{}) {
|
|
l.logger.Logf(logrus.ErrorLevel, format, args...)
|
|
}
|
|
|
|
// Fatal logs a message at level Fatal then the process will exit with status set to 1.
|
|
func (l *logger) Fatal(args ...interface{}) {
|
|
l.logger.Fatal(args...)
|
|
}
|
|
|
|
// Fatalf logs a message at level Fatal then the process will exit with status set to 1.
|
|
func (l *logger) Fatalf(format string, args ...interface{}) {
|
|
l.logger.Fatalf(format, args...)
|
|
}
|