Documentation ¶
Overview ¶
Package logger provides a log interface
Index ¶
- Variables
- func Debug(ctx context.Context, args ...interface{})
- func Debugf(ctx context.Context, msg string, args ...interface{})
- func Error(ctx context.Context, args ...interface{})
- func Errorf(ctx context.Context, msg string, args ...interface{})
- func Fatal(ctx context.Context, args ...interface{})
- func Fatalf(ctx context.Context, msg string, args ...interface{})
- func Info(ctx context.Context, args ...interface{})
- func Infof(ctx context.Context, msg string, args ...interface{})
- func Init(opts ...Option) error
- func NewContext(ctx context.Context, l Logger) context.Context
- func Trace(ctx context.Context, args ...interface{})
- func Tracef(ctx context.Context, msg string, args ...interface{})
- func V(level Level) bool
- func Warn(ctx context.Context, args ...interface{})
- func Warnf(ctx context.Context, msg string, args ...interface{})
- type Level
- type Logger
- type Option
- type Options
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // DefaultLogger variable DefaultLogger Logger = NewLogger() // DefaultLevel used by logger DefaultLevel Level = InfoLevel )
Functions ¶
func NewContext ¶
NewContext stores logger into passed context
Types ¶
type Level ¶
type Level int8
Level means logger level
const ( // TraceLevel level. Designates finer-grained informational events than the Debug. TraceLevel Level = iota - 2 // DebugLevel level. Usually only enabled when debugging. Very verbose logging. DebugLevel // InfoLevel level. General operational entries about what's going on inside the application. InfoLevel // WarnLevel level. Non-critical entries that deserve eyes. WarnLevel // ErrorLevel level. Used for errors that should definitely be noted. ErrorLevel // FatalLevel level. Logs and then calls `os.Exit(1)`. highest level of severity. FatalLevel )
func GetLevel ¶
GetLevel converts a level string into a logger Level value. returns an error if the input string does not match known values.
type Logger ¶
type Logger interface { // Init initialises options Init(opts ...Option) error // V compare provided verbosity level with current log level V(level Level) bool // The Logger options Options() Options // Fields set fields to always be logged Fields(fields map[string]interface{}) Logger // Info level message Info(ctx context.Context, args ...interface{}) // Trace level message Trace(ctx context.Context, args ...interface{}) // Debug level message Debug(ctx context.Context, args ...interface{}) // Warn level message Warn(ctx context.Context, args ...interface{}) // Error level message Error(ctx context.Context, args ...interface{}) // Fatal level message Fatal(ctx context.Context, args ...interface{}) // Infof level message Infof(ctx context.Context, msg string, args ...interface{}) // Tracef level message Tracef(ctx context.Context, msg string, args ...interface{}) // Debug level message Debugf(ctx context.Context, msg string, args ...interface{}) // Warn level message Warnf(ctx context.Context, msg string, args ...interface{}) // Error level message Errorf(ctx context.Context, msg string, args ...interface{}) // Fatal level message Fatalf(ctx context.Context, msg string, args ...interface{}) // Log logs message with needed level Log(ctx context.Context, level Level, args ...interface{}) // Logf logs message with needed level Logf(ctx context.Context, level Level, msg string, args ...interface{}) // String returns the name of logger String() string }
Logger is a generic logging interface
func FromContext ¶
FromContext returns logger from passed context
type Option ¶
type Option func(*Options)
Option func
func SetOption ¶
func SetOption(k, v interface{}) Option
SetOption returns a function to setup a context with given value
func WithCallerSkipCount ¶
WithCallerSkipCount set frame count to skip
func WithFields ¶
WithFields set default fields for the logger
func WithOutput ¶
WithOutput set default output writer for the logger
type Options ¶
type Options struct { Name string // The logging level the logger should log at. default is `InfoLevel` Level Level // fields to always be logged Fields map[string]interface{} // It's common to set this to a file, or leave it default which is `os.Stderr` Out io.Writer // Caller skip frame count for file:line info CallerSkipCount int // Alternative options Context context.Context }
Options holds logger options
Click to show internal directories.
Click to hide internal directories.