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