package logrusimport ()// Fields type, used to pass to `WithFields`.typeFieldsmap[string]interface{}// Level typetypeLeveluint32// Convert the Level to a string. E.g. PanicLevel becomes "panic".func ( Level) () string {if , := .MarshalText(); == nil {returnstring() } else {return"unknown" }}// ParseLevel takes a string level and returns the Logrus log level constant.func ( string) (Level, error) {switchstrings.ToLower() {case"panic":returnPanicLevel, nilcase"fatal":returnFatalLevel, nilcase"error":returnErrorLevel, nilcase"warn", "warning":returnWarnLevel, nilcase"info":returnInfoLevel, nilcase"debug":returnDebugLevel, nilcase"trace":returnTraceLevel, nil }varLevelreturn , fmt.Errorf("not a valid logrus Level: %q", )}// UnmarshalText implements encoding.TextUnmarshaler.func ( *Level) ( []byte) error { , := ParseLevel(string())if != nil {return } * = returnnil}func ( Level) () ([]byte, error) {switch {caseTraceLevel:return []byte("trace"), nilcaseDebugLevel:return []byte("debug"), nilcaseInfoLevel:return []byte("info"), nilcaseWarnLevel:return []byte("warning"), nilcaseErrorLevel:return []byte("error"), nilcaseFatalLevel:return []byte("fatal"), nilcasePanicLevel:return []byte("panic"), nil }returnnil, fmt.Errorf("not a valid logrus level %d", )}// A constant exposing all logging levelsvarAllLevels = []Level{PanicLevel,FatalLevel,ErrorLevel,WarnLevel,InfoLevel,DebugLevel,TraceLevel,}// These are the different logging levels. You can set the logging level to log// on your instance of logger, obtained with `logrus.New()`.const (// PanicLevel level, highest level of severity. Logs and then calls panic with the // message passed to Debug, Info, ...PanicLevelLevel = iota// FatalLevel level. Logs and then calls `logger.Exit(1)`. It will exit even if the // logging level is set to Panic.FatalLevel// ErrorLevel level. Logs. Used for errors that should definitely be noted. // Commonly used for hooks to send errors to an error tracking service.ErrorLevel// WarnLevel level. Non-critical entries that deserve eyes.WarnLevel// InfoLevel level. General operational entries about what's going on inside the // application.InfoLevel// DebugLevel level. Usually only enabled when debugging. Very verbose logging.DebugLevel// TraceLevel level. Designates finer-grained informational events than the Debug.TraceLevel)// Won't compile if StdLogger can't be realized by a log.Loggervar ( _ StdLogger = &log.Logger{} _ StdLogger = &Entry{} _ StdLogger = &Logger{})// StdLogger is what your logrus-enabled library should take, that way// it'll accept a stdlib logger and a logrus logger. There's no standard// interface, this is the closest we get, unfortunately.typeStdLoggerinterface {Print(...interface{})Printf(string, ...interface{})Println(...interface{})Fatal(...interface{})Fatalf(string, ...interface{})Fatalln(...interface{})Panic(...interface{})Panicf(string, ...interface{})Panicln(...interface{})}// The FieldLogger interface generalizes the Entry and Logger typestypeFieldLoggerinterface {WithField(key string, value interface{}) *EntryWithFields(fields Fields) *EntryWithError(err error) *EntryDebugf(format string, args ...interface{})Infof(format string, args ...interface{})Printf(format string, args ...interface{})Warnf(format string, args ...interface{})Warningf(format string, args ...interface{})Errorf(format string, args ...interface{})Fatalf(format string, args ...interface{})Panicf(format string, args ...interface{})Debug(args ...interface{})Info(args ...interface{})Print(args ...interface{})Warn(args ...interface{})Warning(args ...interface{})Error(args ...interface{})Fatal(args ...interface{})Panic(args ...interface{})Debugln(args ...interface{})Infoln(args ...interface{})Println(args ...interface{})Warnln(args ...interface{})Warningln(args ...interface{})Errorln(args ...interface{})Fatalln(args ...interface{})Panicln(args ...interface{})// IsDebugEnabled() bool // IsInfoEnabled() bool // IsWarnEnabled() bool // IsErrorEnabled() bool // IsFatalEnabled() bool // IsPanicEnabled() bool}// Ext1FieldLogger (the first extension to FieldLogger) is superfluous, it is// here for consistancy. Do not use. Use Logger or Entry instead.typeExt1FieldLoggerinterface {FieldLoggerTracef(format string, args ...interface{})Trace(args ...interface{})Traceln(args ...interface{})}
The pages are generated with Goldsv0.3.6. (GOOS=darwin GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds.