diff options
Diffstat (limited to 'log/logger.go')
-rw-r--r-- | log/logger.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/log/logger.go b/log/logger.go index a9d42b8da..a7f7d9df7 100644 --- a/log/logger.go +++ b/log/logger.go @@ -2,6 +2,7 @@ package log import ( "fmt" + "os" "time" "github.com/go-stack/stack" @@ -20,11 +21,14 @@ const ( LvlWarn LvlInfo LvlDebug + LvlTrace ) // Returns the name of a Lvl func (l Lvl) String() string { switch l { + case LvlTrace: + return "trce" case LvlDebug: return "dbug" case LvlInfo: @@ -44,6 +48,8 @@ func (l Lvl) String() string { // Useful for parsing command line args and configuration files. func LvlFromString(lvlString string) (Lvl, error) { switch lvlString { + case "trace", "trce": + return LvlTrace, nil case "debug", "dbug": return LvlDebug, nil case "info": @@ -87,6 +93,7 @@ type Logger interface { SetHandler(h Handler) // Log a message at the given level with context key/value pairs + Trace(msg string, ctx ...interface{}) Debug(msg string, ctx ...interface{}) Info(msg string, ctx ...interface{}) Warn(msg string, ctx ...interface{}) @@ -128,6 +135,10 @@ func newContext(prefix []interface{}, suffix []interface{}) []interface{} { return newCtx } +func (l *logger) Trace(msg string, ctx ...interface{}) { + l.write(msg, LvlTrace, ctx) +} + func (l *logger) Debug(msg string, ctx ...interface{}) { l.write(msg, LvlDebug, ctx) } @@ -146,6 +157,7 @@ func (l *logger) Error(msg string, ctx ...interface{}) { func (l *logger) Crit(msg string, ctx ...interface{}) { l.write(msg, LvlCrit, ctx) + os.Exit(1) } func (l *logger) GetHandler() Handler { |