logger

package
v2.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 3, 2020 License: Apache-2.0 Imports: 10 Imported by: 889

Documentation

Overview

Package log provides a log interface

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Debug added in v2.1.1

func Debug(args ...interface{})

func Debugf added in v2.1.1

func Debugf(template string, args ...interface{})

func Error added in v2.1.1

func Error(args ...interface{})

func Errorf added in v2.1.1

func Errorf(template string, args ...interface{})

func Fatal added in v2.1.1

func Fatal(args ...interface{})

func Fatalf added in v2.1.1

func Fatalf(template string, args ...interface{})

func Info added in v2.1.1

func Info(args ...interface{})

func Infof added in v2.1.1

func Infof(template string, args ...interface{})

func Init added in v2.1.1

func Init(opts ...Option) error

func Log added in v2.1.1

func Log(level Level, v ...interface{})

func Logf added in v2.1.1

func Logf(level Level, format string, v ...interface{})

func NewContext

func NewContext(ctx context.Context, l Logger) context.Context

func String added in v2.1.1

func String() string

func Trace added in v2.1.1

func Trace(args ...interface{})

func Tracef added in v2.1.1

func Tracef(template string, args ...interface{})

func V added in v2.3.0

func V(lvl Level, log Logger) bool

Returns true if the given level is at or lower the current logger level

func Warn added in v2.1.1

func Warn(args ...interface{})

func Warnf added in v2.1.1

func Warnf(template string, args ...interface{})

Types

type Helper added in v2.3.0

type Helper struct {
	Logger
	// contains filtered or unexported fields
}

func NewHelper added in v2.3.0

func NewHelper(log Logger) *Helper

func (*Helper) Debug added in v2.3.0

func (h *Helper) Debug(args ...interface{})

func (*Helper) Debugf added in v2.3.0

func (h *Helper) Debugf(template string, args ...interface{})

func (*Helper) Error added in v2.3.0

func (h *Helper) Error(args ...interface{})

func (*Helper) Errorf added in v2.3.0

func (h *Helper) Errorf(template string, args ...interface{})

func (*Helper) Fatal added in v2.3.0

func (h *Helper) Fatal(args ...interface{})

func (*Helper) Fatalf added in v2.3.0

func (h *Helper) Fatalf(template string, args ...interface{})

func (*Helper) Info added in v2.3.0

func (h *Helper) Info(args ...interface{})

func (*Helper) Infof added in v2.3.0

func (h *Helper) Infof(template string, args ...interface{})

func (*Helper) Trace added in v2.3.0

func (h *Helper) Trace(args ...interface{})

func (*Helper) Tracef added in v2.3.0

func (h *Helper) Tracef(template string, args ...interface{})

func (*Helper) Warn added in v2.3.0

func (h *Helper) Warn(args ...interface{})

func (*Helper) Warnf added in v2.3.0

func (h *Helper) Warnf(template string, args ...interface{})

func (*Helper) WithError added in v2.3.0

func (h *Helper) WithError(err error) *Helper

func (*Helper) WithFields added in v2.3.0

func (h *Helper) WithFields(fields map[string]interface{}) *Helper

type Level

type Level int8
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 is the default logging priority.
	// General operational entries about what's going on inside the application.
	InfoLevel
	// WarnLevel level. Non-critical entries that deserve eyes.
	WarnLevel
	// ErrorLevel level. Logs. Used for errors that should definitely be noted.
	ErrorLevel
	// FatalLevel level. Logs and then calls `logger.Exit(1)`. highest level of severity.
	FatalLevel
)

func GetLevel added in v2.1.1

func GetLevel(levelStr string) (Level, error)

GetLevel converts a level string into a logger Level value. returns an error if the input string does not match known values.

func (Level) Enabled added in v2.1.1

func (l Level) Enabled(lvl Level) bool

Enabled returns true if the given level is at or above this level.

func (Level) String added in v2.1.1

func (l Level) String() string

type Logger

type Logger interface {
	// Init initialises options
	Init(options ...Option) error
	// The Logger options
	Options() Options
	// Fields set fields to always be logged
	Fields(fields map[string]interface{}) Logger
	// Log writes a log entry
	Log(level Level, v ...interface{})
	// Logf writes a formatted log entry
	Logf(level Level, format string, v ...interface{})
	// String returns the name of logger
	String() string
}

Logger is a generic logging interface

var (
	// Default logger
	DefaultLogger Logger = NewHelper(NewLogger())
)

func Fields added in v2.1.1

func Fields(fields map[string]interface{}) Logger

func FromContext

func FromContext(ctx context.Context) (Logger, bool)

func NewLogger added in v2.1.1

func NewLogger(opts ...Option) Logger

NewLogger builds a new logger based on options

type Option

type Option func(*Options)

func SetOption added in v2.1.1

func SetOption(k, v interface{}) Option

func WithCallerSkipCount added in v2.6.0

func WithCallerSkipCount(c int) Option

WithCallerSkipCount set frame count to skip

func WithFields added in v2.1.1

func WithFields(fields map[string]interface{}) Option

WithFields set default fields for the logger

func WithLevel added in v2.1.1

func WithLevel(level Level) Option

WithLevel set default level for the logger

func WithOutput added in v2.1.1

func WithOutput(out io.Writer) Option

WithOutput set default output writer for the logger

type Options

type Options struct {
	// 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
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL