add lib with local_logging
This commit is contained in:
parent
e47e3faee9
commit
5fa4371b33
|
@ -0,0 +1,53 @@
|
|||
package lib
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"os"
|
||||
|
||||
"github.com/bdlm/log"
|
||||
stdLogger "github.com/bdlm/std/logger"
|
||||
)
|
||||
|
||||
var (
|
||||
LogLevel = 40
|
||||
LogTimestamp = false
|
||||
)
|
||||
|
||||
type Hook struct{}
|
||||
|
||||
func (hook *Hook) Fire(entry *log.Entry) error {
|
||||
switch entry.Level {
|
||||
case log.PanicLevel:
|
||||
entry.Logger.Out = os.Stderr
|
||||
case log.FatalLevel:
|
||||
entry.Logger.Out = os.Stderr
|
||||
case log.ErrorLevel:
|
||||
entry.Logger.Out = os.Stderr
|
||||
case log.WarnLevel:
|
||||
entry.Logger.Out = os.Stdout
|
||||
case log.InfoLevel:
|
||||
entry.Logger.Out = os.Stdout
|
||||
case log.DebugLevel:
|
||||
entry.Logger.Out = os.Stdout
|
||||
default:
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (hook *Hook) Levels() []stdLogger.Level {
|
||||
return log.AllLevels
|
||||
}
|
||||
|
||||
func init() {
|
||||
log.AddHook(&Hook{})
|
||||
flag.BoolVar(&LogTimestamp, "timestamps", LogTimestamp, "Enables timestamps for log output")
|
||||
flag.IntVar(&LogLevel, "loglevel", LogLevel, "Show log message starting at level")
|
||||
|
||||
}
|
||||
func LogUpdateConfig() {
|
||||
log.SetLevel(stdLogger.Level(LogLevel))
|
||||
log.SetFormatter(&log.TextFormatter{
|
||||
DisableTimestamp: !LogTimestamp,
|
||||
})
|
||||
}
|
Reference in New Issue