log levels
This commit is contained in:
parent
543dc0166c
commit
686aa3aa05
@ -8,9 +8,22 @@ import (
|
|||||||
golog "github.com/go-log/log/log"
|
golog "github.com/go-log/log/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// level is a log level
|
||||||
|
type Level int
|
||||||
|
|
||||||
|
const (
|
||||||
|
trace Level = iota
|
||||||
|
debug
|
||||||
|
info
|
||||||
|
fatal
|
||||||
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// the local logger
|
// the local logger
|
||||||
logger log.Logger = golog.New()
|
logger log.Logger = golog.New()
|
||||||
|
|
||||||
|
// default log level is debug
|
||||||
|
level = info
|
||||||
)
|
)
|
||||||
|
|
||||||
// Log makes use of github.com/go-log/log.Log
|
// Log makes use of github.com/go-log/log.Log
|
||||||
@ -23,15 +36,61 @@ func Logf(format string, v ...interface{}) {
|
|||||||
logger.Logf(format, v...)
|
logger.Logf(format, v...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithLevel logs with the level specified
|
||||||
|
func WithLevel(l Level, v ...interface{}) {
|
||||||
|
if l < level {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
Log(v...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLevel logs with the level specified
|
||||||
|
func WithLevelf(l Level, format string, v ...interface{}) {
|
||||||
|
if l < level {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
Logf(format, v...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Trace provides trace level logging
|
||||||
|
func Trace(v ...interface{}) {
|
||||||
|
WithLevel(trace, v...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tracef provides trace level logging
|
||||||
|
func Tracef(format string, v ...interface{}) {
|
||||||
|
WithLevelf(trace, format, v...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Debug provides debug level logging
|
||||||
|
func Debug(v ...interface{}) {
|
||||||
|
WithLevel(debug, v...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Debugf provides debug level logging
|
||||||
|
func Debugf(format string, v ...interface{}) {
|
||||||
|
WithLevelf(debug, format, v...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Info provides info level logging
|
||||||
|
func Info(v ...interface{}) {
|
||||||
|
WithLevel(info, v...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Infof provides info level logging
|
||||||
|
func Infof(format string, v ...interface{}) {
|
||||||
|
WithLevelf(info, format, v...)
|
||||||
|
}
|
||||||
|
|
||||||
// Fatal logs with Log and then exits with os.Exit(1)
|
// Fatal logs with Log and then exits with os.Exit(1)
|
||||||
func Fatal(v ...interface{}) {
|
func Fatal(v ...interface{}) {
|
||||||
Log(v...)
|
WithLevel(fatal, v...)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fatalf logs with Logf and then exits with os.Exit(1)
|
// Fatalf logs with Logf and then exits with os.Exit(1)
|
||||||
func Fatalf(format string, v ...interface{}) {
|
func Fatalf(format string, v ...interface{}) {
|
||||||
Logf(format, v...)
|
WithLevelf(fatal, format, v...)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,3 +98,18 @@ func Fatalf(format string, v ...interface{}) {
|
|||||||
func SetLogger(l log.Logger) {
|
func SetLogger(l log.Logger) {
|
||||||
logger = l
|
logger = l
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetLogger returns the local logger
|
||||||
|
func GetLogger() log.Logger {
|
||||||
|
return logger
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetLevel sets the log level
|
||||||
|
func SetLevel(l Level) {
|
||||||
|
level = l
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetLevel returns the current level
|
||||||
|
func GetLevel() Level {
|
||||||
|
return level
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user