loggers

package
v0.0.0-...-045890f Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2019 License: Apache-2.0 Imports: 4 Imported by: 10

README

loggers

import "github.com/go-orion/Orion/utils/log/loggers"

Overview

Package loggers provides loggers implementation for log package

Imported Packages

No packages beyond the Go standard library are imported.

Index

Package files

fields.go loggers.go

Constants

const (
    // ErrorLevel level. Logs. Used for errors that should definitely be noted.
    // Commonly used for hooks to send errors to an error tracking service.
    ErrorLevel = iota
    // 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
)

These are the different logging levels. You can set the logging level to log on your instance of logger, obtained with logs.New().

Variables

var AllLevels = []Level{
    ErrorLevel,
    WarnLevel,
    InfoLevel,
    DebugLevel,
}

AllLevels A constant exposing all logging levels

var (
    DefaultOptions = Options{
        ReplaceStdLogger:   false,
        JSONLogs:           true,
        Level:              InfoLevel,
        TimestampFieldName: "@timestamp",
        LevelFieldName:     "level",
        CallerInfo:         true,
        CallerFileDepth:    2,
    }
)

DefaultOptions stores all default options in loggers package

func AddToLogContext

func AddToLogContext(ctx context.Context, key string, value interface{}) context.Context

AddToLogContext adds log fields to context. Any info added here will be added to all logs using this context

func FetchCallerInfo

func FetchCallerInfo(skip int, depth int) (function string, file string, line int)

FetchCallerInfo fetches function name, file name and line number from stack

type BaseLogger

type BaseLogger interface {
    Log(ctx context.Context, level Level, skip int, args ...interface{})
    SetLevel(level Level)
    GetLevel() Level
}

BaseLogger is the interface that needs to be implemented by client loggers

type Level

type Level uint32

Level type

func ParseLevel
func ParseLevel(lvl string) (Level, error)

ParseLevel takes a string level and returns the log level constant.

func (Level) String
func (level Level) String() string

Convert the Level to a string. E.g. ErrorLevel becomes "error".

type LogFields

type LogFields map[string]interface{}

LogFields contains all fields that have to be added to logs

func FromContext
func FromContext(ctx context.Context) LogFields

FromContext fetchs log fields from provided context

func (LogFields) Add
func (o LogFields) Add(key string, value interface{})

Add or modify log fields

func (LogFields) Del
func (o LogFields) Del(key string)

Del deletes a log field entry

type Option

type Option func(*Options)

Option defines an option for BaseLogger

func WithCallerFileDepth
func WithCallerFileDepth(depth int) Option

WithCallerFileDepth sets the depth of file to use in caller info

func WithCallerInfo
func WithCallerInfo(callerInfo bool) Option

WithCallerInfo enables/disables adding caller info to logs

func WithJSONLogs
func WithJSONLogs(json bool) Option

WithJSONLogs enables/disables json logs

func WithLevelFieldName
func WithLevelFieldName(name string) Option

WithLevelFieldName sets the name of the level field in logs

func WithReplaceStdLogger
func WithReplaceStdLogger(replaceStdLogger bool) Option

WithReplaceStdLogger enables/disables replacing std logger

func WithTimestampFieldName
func WithTimestampFieldName(name string) Option

WithTimestampFieldName sets the name of the time stamp field in logs

type Options

type Options struct {
    ReplaceStdLogger   bool
    JSONLogs           bool
    Level              Level
    TimestampFieldName string
    LevelFieldName     string
    CallerInfo         bool
    CallerFileDepth    int
}

Options contain all common options for BaseLoggers

func GetDefaultOptions
func GetDefaultOptions() Options

GetDefaultOptions fetches loggers default options


Generated by godoc2ghmd

Documentation

Overview

Package loggers provides loggers implementation for log package

Index

Constants

View Source
const (
	// ErrorLevel level. Logs. Used for errors that should definitely be noted.
	// Commonly used for hooks to send errors to an error tracking service.
	ErrorLevel = iota
	// 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
)

These are the different logging levels. You can set the logging level to log on your instance of logger, obtained with `logs.New()`.

Variables

AllLevels A constant exposing all logging levels

View Source
var (
	DefaultOptions = Options{
		ReplaceStdLogger:   false,
		JSONLogs:           true,
		Level:              InfoLevel,
		TimestampFieldName: "@timestamp",
		LevelFieldName:     "level",
		CallerInfo:         true,
		CallerFileDepth:    2,
		CallerFieldName:    "caller",
	}
)

DefaultOptions stores all default options in loggers package

Functions

func AddToLogContext

func AddToLogContext(ctx context.Context, key string, value interface{}) context.Context

AddToLogContext adds log fields to context. Any info added here will be added to all logs using this context

func FetchCallerInfo

func FetchCallerInfo(skip int, depth int) (function string, file string, line int)

FetchCallerInfo fetches function name, file name and line number from stack

Types

type BaseLogger

type BaseLogger interface {
	Log(ctx context.Context, level Level, skip int, args ...interface{})
	SetLevel(level Level)
	GetLevel() Level
}

BaseLogger is the interface that needs to be implemented by client loggers

type Level

type Level uint32

Level type

func ParseLevel

func ParseLevel(lvl string) (Level, error)

ParseLevel takes a string level and returns the log level constant.

func (Level) String

func (level Level) String() string

Convert the Level to a string. E.g. ErrorLevel becomes "error".

type LogFields

type LogFields map[string]interface{}

LogFields contains all fields that have to be added to logs

func FromContext

func FromContext(ctx context.Context) LogFields

FromContext fetchs log fields from provided context

func (LogFields) Add

func (o LogFields) Add(key string, value interface{})

Add or modify log fields

func (LogFields) Del

func (o LogFields) Del(key string)

Del deletes a log field entry

type Option

type Option func(*Options)

Option defines an option for BaseLogger

func WithCallerFieldName

func WithCallerFieldName(name string) Option

WithCallerFieldName sets the name of callerinfo field

func WithCallerFileDepth

func WithCallerFileDepth(depth int) Option

WithCallerFileDepth sets the depth of file to use in caller info

func WithCallerInfo

func WithCallerInfo(callerInfo bool) Option

WithCallerInfo enables/disables adding caller info to logs

func WithJSONLogs

func WithJSONLogs(json bool) Option

WithJSONLogs enables/disables json logs

func WithLevelFieldName

func WithLevelFieldName(name string) Option

WithLevelFieldName sets the name of the level field in logs

func WithReplaceStdLogger

func WithReplaceStdLogger(replaceStdLogger bool) Option

WithReplaceStdLogger enables/disables replacing std logger

func WithTimestampFieldName

func WithTimestampFieldName(name string) Option

WithTimestampFieldName sets the name of the time stamp field in logs

type Options

type Options struct {
	ReplaceStdLogger   bool
	JSONLogs           bool
	Level              Level
	TimestampFieldName string
	LevelFieldName     string
	CallerInfo         bool
	CallerFileDepth    int
	CallerFieldName    string
}

Options contain all common options for BaseLoggers

func GetDefaultOptions

func GetDefaultOptions() Options

GetDefaultOptions fetches loggers default options

Directories

Path Synopsis
Package gokit provides BaseLogger implementation for go-kit/log
Package gokit provides BaseLogger implementation for go-kit/log
Package logrus provides a BaseLogger implementation for logrus
Package logrus provides a BaseLogger implementation for logrus
Package stdlog provides a BaseLogger implementation for golang "log" package
Package stdlog provides a BaseLogger implementation for golang "log" package

Jump to

Keyboard shortcuts

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