irislog

package
v0.0.0-...-984de81 Latest Latest
Warning

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

Go to latest
Published: May 2, 2021 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package irislog defines custom context logger wrapped around rs/zerolog

Index

Constants

View Source
const (
	Disabled = -1
	Debug    = iota
	Info
	Warn
	Error
)

Variables

This section is empty.

Functions

func InCtx

func InCtx(ctx context.Context, fields ...string) context.Context

InCtx returns a copy of context that also includes a configured logger.

func Set

func Set(i *IrisLogger)

Set StdLogger to user's defined IrisLogger.

Types

type Config

type Config struct {
	// contains filtered or unexported fields
}

Config defines config for IrisLogger.

type IrisLogger

type IrisLogger struct {
	Level    int
	Version  string
	Revision string
	StdLog   zerolog.Logger
	ErrLog   zerolog.Logger
	// contains filtered or unexported fields
}

IrisLogger defines a default logger for iris that wraps around rs/zerolog.

var (
	// StdLogger Logger can be used right out of the box.
	// Can also be replaced by a custom configured one using Set(*Logger).
	StdLogger *IrisLogger
)

func CtxLogger

func CtxLogger(ctx context.Context) (logger *IrisLogger, ok bool)

CtxLogger returns a logger stored in the context provided by the arguments. We want to avoid runtime error, thus get the logger from context by using logger context keys.

func FromCtx

func FromCtx(ctx context.Context) (i *IrisLogger, fresh bool)

FromCtx returns current logger in context. If there isn't one then returns a new one with given cfg values.

func NewLogger

func NewLogger(level int, name string, stfields ...interface{}) *IrisLogger

NewLogger creates a new Logger. if static fields are provided those values will be defined. the default static fields for each new built instance if they aren't configured yet.

func (*IrisLogger) AddDynaFields

func (i *IrisLogger) AddDynaFields(key, value interface{})

AddDynaFields acts as a receiver instance that add given key-value pairs to current logger.

func (IrisLogger) Debug

func (i IrisLogger) Debug(meta ...interface{})

Debug logs.

func (IrisLogger) Error

func (i IrisLogger) Error(err error, meta ...interface{})

Error logs.

func (IrisLogger) Info

func (i IrisLogger) Info(meta ...interface{})

Info logs.

func (*IrisLogger) ResetDynaFields

func (i *IrisLogger) ResetDynaFields()

ResetDynaFields will reset dynamic fields.

func (*IrisLogger) Set

func (i *IrisLogger) Set() *IrisLogger

Set chains NewLogger with StdLogger to create a new logger. l := irislog.NewLogger(irislog.Debug, "name", "version", "revision").Set().

func (*IrisLogger) SetDynaFields

func (i *IrisLogger) SetDynaFields(dynafields ...interface{})

SetDynaFields acts as a receiver instance that will always append these key-value pairs to the output.

func (*IrisLogger) UpdateLogLevel

func (i *IrisLogger) UpdateLogLevel(level int)

UpdateLogLevel updates log level.

func (IrisLogger) Warn

func (i IrisLogger) Warn(meta ...interface{})

Warn logs.

Jump to

Keyboard shortcuts

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