-// Copied from zap logger
-//
-// A Level is a logging priority. Higher levels are more important.
-type LogLevel int8
-
-const (
- // DebugLevel logs are typically voluminous, and are usually disabled in
- // production.
- DebugLevel LogLevel = iota - 1
- // InfoLevel is the default logging priority.
- InfoLevel
- // WarnLevel logs are more important than Info, but don't need individual
- // human review.
- WarnLevel
- // ErrorLevel logs are high-priority. If an application is running smoothly,
- // it shouldn't generate any error-level logs.
- ErrorLevel
- // DPanicLevel logs are particularly important errors. In development the
- // logger panics after writing the message.
- DPanicLevel
- // PanicLevel logs a message, then panics.
- PanicLevel
- // FatalLevel logs a message, then calls os.Exit(1).
- FatalLevel
-
- _minLevel = DebugLevel
- _maxLevel = FatalLevel
-)
-
-var logLevelTokenToLevel = map[string] LogLevel {
- "debug" : DebugLevel,
- "info": InfoLevel,
- "warn": WarnLevel,
- "error": ErrorLevel,
- "dpanic": DPanicLevel,
- "panic": PanicLevel,
- "fatal": FatalLevel,
-}
-
-func LogLevelTokenToLevel(level string) (LogLevel, bool) {
- if level, ok := logLevelTokenToLevel[strings.TrimSpace(strings.ToLower(level))];ok {
- return level, true
- }
- return _maxLevel+1, false
-}
-
-func InitLogger(requested LogLevel) (*Logger, error) {
- var logger *zap.Logger
- var err error
- switch requested {
- case DebugLevel:
- logger, err = initLoggerByLevel(zapcore.DebugLevel)
- case InfoLevel:
- logger, err = initLoggerByLevel(zapcore.InfoLevel)
- case WarnLevel:
- logger, err = initLoggerByLevel(zapcore.WarnLevel)
- case ErrorLevel:
- logger, err = initLoggerByLevel(zapcore.ErrorLevel)
- case DPanicLevel:
- logger, err = initLoggerByLevel(zapcore.DPanicLevel)
- case PanicLevel:
- logger, err = initLoggerByLevel(zapcore.PanicLevel)
- case FatalLevel:
- logger, err = initLoggerByLevel(zapcore.FatalLevel)
- default:
- err = fmt.Errorf("Invalid logging Level :%d",requested)
- }
- if err != nil {
- return nil, err
- }
- return &Logger{Logger:logger}, nil
-
-}
-func(l *Logger)Sync() error {
- l.Debugf("#logger.Sync - Going to flush buffered log")
- return l.Logger.Sync()