log

package module
v0.0.0-...-c081c12 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2020 License: MIT Imports: 7 Imported by: 0

README

log

Simplified API for the nice library cdr/slog

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// LevelDebug is used for development and debugging messages.
	LevelDebug = Level(slog.LevelDebug)

	// LevelInfo is used for normal informational messages.
	LevelInfo = Level(slog.LevelInfo)

	// LevelWarn is used when something has possibly gone wrong.
	LevelWarn = Level(slog.LevelWarn)

	// LevelError is used when something has certainly gone wrong.
	LevelError = Level(slog.LevelError)

	// LevelCritical is used when when something has gone wrong and should
	// be immediately investigated.
	LevelCritical = Level(slog.LevelCritical)

	// LevelFatal is used when the process is about to exit due to an error.
	LevelFatal = Level(slog.LevelFatal)
)
View Source
var Default = New(DefaultConfig)

Default is the default logger

View Source
var DefaultConfig = Config{
	Writer:  os.Stdout,
	Make:    Terminal,
	Level:   LevelDebug,
	Context: context.Background(),
	Fields:  []Field{},
}

DefaultConfig represents default logger configuration

Functions

func JSON

func JSON(w io.Writer) slog.Logger

JSON creates a json logger

func Terminal

func Terminal(w io.Writer) slog.Logger

Terminal creates a terminal logger

Types

type Config

type Config struct {
	Writer  io.Writer
	Level   Level
	Context context.Context
	Make    func(io.Writer) slog.Logger
	Fields  []Field
}

Config represents a logger configuration

type Field

type Field slog.Field

Field contains additional logging fields

func F

func F(key string, value interface{}) Field

F creates a field

type Level

type Level slog.Level

Level defined log level

type Logger

type Logger interface {
	Debug(msg string, fields ...Field)
	Info(msg string, fields ...Field)
	Warn(msg string, fields ...Field)
	Error(msg string, fields ...Field)
	Critical(msg string, fields ...Field)
	Fatal(msg string, fields ...Field)
}

Logger defines a logger interface

func New

func New(config Config) Logger

New creates a new logger

Jump to

Keyboard shortcuts

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