Documentation
¶
Overview ¶
Package log provide the standard interface of logging for what any go libraries want strip off the direct dependency from a known logging library.
Index ¶
- Variables
- func Debugf(msg string, args ...interface{})
- func Errorf(msg string, args ...interface{})
- func Fatalf(msg string, args ...interface{})
- func GetDebugMode() bool
- func GetTraceMode() bool
- func InDebugging() bool
- func Infof(msg string, args ...interface{})
- func Panicf(msg string, args ...interface{})
- func Printf(msg string, args ...interface{})
- func SetDebugMode(b bool)
- func SetLevel(l Level)
- func SetLogger(l Logger)
- func SetTraceMode(b bool)
- func Tracef(msg string, args ...interface{})
- func Warnf(msg string, args ...interface{})
- type CmdrMinimal
- type Env
- type Level
- type Logger
- type LoggerConfig
Constants ¶
This section is empty.
Variables ¶
var AllLevels = []Level{ PanicLevel, FatalLevel, ErrorLevel, WarnLevel, InfoLevel, DebugLevel, TraceLevel, OffLevel, }
AllLevels is a constant exposing all logging levels
Functions ¶
func Debugf ¶ added in v0.1.16
func Debugf(msg string, args ...interface{})
Debugf prints the text to stdin if logging level is greater than DebugLevel
func Errorf ¶ added in v0.1.16
func Errorf(msg string, args ...interface{})
Errorf prints the text to stderr
func Fatalf ¶ added in v0.1.16
func Fatalf(msg string, args ...interface{})
Fatalf is equivalent to Printf() followed by a call to os.Exit(1).
func GetDebugMode ¶ added in v0.1.13
func GetDebugMode() bool
GetDebugMode return the debug boolean flag generally
func GetTraceMode ¶ added in v0.1.13
func GetTraceMode() bool
GetTraceMode return the trace boolean flag generally
func InDebugging ¶ added in v0.1.13
func InDebugging() bool
InDebugging check if the delve debugger presents
func Infof ¶ added in v0.1.16
func Infof(msg string, args ...interface{})
Infof prints the text to stdin if logging level is greater than InfoLevel
func Panicf ¶ added in v0.1.16
func Panicf(msg string, args ...interface{})
Panicf is equivalent to Printf() followed by a call to panic().
func Printf ¶ added in v0.1.16
func Printf(msg string, args ...interface{})
Printf calls Output to print to the standard logger. Arguments are handled in the manner of fmt.Printf.
func SetDebugMode ¶ added in v0.1.13
func SetDebugMode(b bool)
SetDebugMode set the debug boolean flag generally
func SetLogger ¶ added in v0.1.17
func SetLogger(l Logger)
SetLogger transfer an instance into log package-level value
func SetTraceMode ¶ added in v0.1.13
func SetTraceMode(b bool)
SetTraceMode set the trace boolean flag generally
Types ¶
type CmdrMinimal ¶ added in v0.1.13
type CmdrMinimal interface {
InDebugging() bool
GetDebugMode() bool
GetTraceMode() bool
SetDebugMode(b bool)
SetTraceMode(b bool)
}
CmdrMinimal provides the accessors to debug/trace flags
func MinimalEnv ¶ added in v0.1.13
func MinimalEnv() CmdrMinimal
MinimalEnv return the Env/CmdrMinimal object
type Env ¶ added in v0.1.13
type Env struct {
// contains filtered or unexported fields
}
Env structure holds the debug/trace flags and provides CmdrMinimal accessors
func (*Env) GetDebugMode ¶ added in v0.1.13
GetDebugMode return the debug boolean flag generally
func (*Env) GetTraceMode ¶ added in v0.1.13
GetTraceMode return the trace boolean flag generally
func (*Env) InDebugging ¶ added in v0.1.13
InDebugging check if the delve debugger presents
func (*Env) SetDebugMode ¶ added in v0.1.13
SetDebugMode set the debug boolean flag generally
func (*Env) SetTraceMode ¶ added in v0.1.13
SetTraceMode set the trace boolean flag generally
type Level ¶
type Level uint32
Level type
const ( // PanicLevel level, highest level of severity. Logs and then calls panic with the // message passed to Debug, Info, ... PanicLevel Level = 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 // OffLevel level. The logger will be shutdown. OffLevel )
These are the different logging levels. You can set the logging level to log on your instance of logger, obtained with `logrus.New()`.
func ParseLevel ¶
ParseLevel takes a string level and returns the Logrus log level constant.
func (Level) MarshalText ¶
MarshalText convert Level to string and []byte
func (*Level) UnmarshalText ¶
UnmarshalText implements encoding.TextUnmarshaler.
type Logger ¶
type Logger interface {
// Tracef prints the text to stdin if logging level is greater than TraceLevel
Tracef(msg string, args ...interface{})
// Debugf prints the text to stdin if logging level is greater than DebugLevel
Debugf(msg string, args ...interface{})
// Infof prints the text to stdin if logging level is greater than InfoLevel
Infof(msg string, args ...interface{})
// Warnf prints the text to stderr
Warnf(msg string, args ...interface{})
// Errorf prints the text to stderr
Errorf(msg string, args ...interface{})
// Fatalf is equivalent to Printf() followed by a call to os.Exit(1).
Fatalf(msg string, args ...interface{})
// Panicf is equivalent to Printf() followed by a call to panic().
Panicf(msg string, args ...interface{})
// Printf calls Output to print to the standard logger.
// Arguments are handled in the manner of fmt.Printf.
Printf(msg string, args ...interface{})
// SetLevel sets the logging level
SetLevel(lvl Level)
// GetLevel returns the current logging level
GetLevel() Level
// Setup will be invoked once an instance created
Setup()
}
Logger is a minimal logger with no more dependencies
func GetLogger ¶ added in v0.1.17
func GetLogger() Logger
GetLogger returns the package-level logger globally
func NewDummyLogger ¶ added in v0.1.5
func NewDummyLogger() Logger
NewDummyLogger return a dummy logger
func NewStdLogger ¶ added in v0.1.7
func NewStdLogger() Logger
NewStdLogger return a stdlib `log` logger
func NewStdLoggerWith ¶ added in v0.1.18
NewStdLoggerWith return a stdlib `log` logger
type LoggerConfig ¶
type LoggerConfig struct {
Enabled bool
Backend string // zap, sugar, logrus
Level string
Format string // text, json, ...
Target string // console, file, console+file
Directory string
DebugMode bool `json:"-" yaml:"-"`
TraceMode bool `json:"-" yaml:"-"`
// MaxSize is the maximum size in megabytes of the log file before it gets
// rotated. It defaults to 100 megabytes.
MaxSize int `json:"maxsize" yaml:"maxsize"`
// MaxAge is the maximum number of days to retain old log files based on the
// timestamp encoded in their filename. Note that a day is defined as 24
// hours and may not exactly correspond to calendar days due to daylight
// savings, leap seconds, etc. The default is not to remove old log files
// based on age.
MaxAge int `json:"maxage" yaml:"maxage"`
// MaxBackups is the maximum number of old log files to retain. The default
// is to retain all old log files (though MaxAge may still cause them to get
// deleted.)
MaxBackups int `json:"maxbackups" yaml:"maxbackups"`
// LocalTime determines if the time used for formatting the timestamps in
// backup files is the computer's local time. The default is to use UTC
// time.
LocalTime bool `json:"localtime" yaml:"localtime"`
// Compress determines if the rotated log files should be compressed
// using gzip. The default is not to perform compression.
Compress bool `json:"compress" yaml:"compress"`
}
LoggerConfig is used for creating a minimal logger with no more dependencies
func NewLoggerConfig ¶
func NewLoggerConfig() *LoggerConfig
NewLoggerConfig returns a default LoggerConfig
func NewLoggerConfigWith ¶ added in v0.1.17
func NewLoggerConfigWith(enabled bool, backend, level string) *LoggerConfig
NewLoggerConfigWith returns a default LoggerConfig