logger

package
v2.0.0-rc.2 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package logger basic and simple logger for application, it base the go embed `log` package. it's able to control output by log level, level order `all<debug<info<warn<error<none`.

Index

Examples

Constants

View Source
const (
	LevelAll   = "all"
	LevelError = "error"
	LevelWarn  = "warn"
	LevelInfo  = "info"
	LevelDebug = "debug"
	LevelTrace = "trace"
	LevelNone  = "none"
)

string level values.

View Source
const (
	DriverStdout = "stdout"
	DriverFile   = "file"
	DriverBuffer = "buffer"
)

DriverStdout logging driver support builtin

Variables

View Source
var DefaultConfig = Config{
	Level:  "warn",
	Driver: DriverStdout,
}

Functions

func Prefix

func Prefix(level Level) string

func ShortCover

func ShortCover(short string) (lvlStr string)

ShortCover short level string cover to matched level string. rule:

`a/A -> all`
`e/E -> error`
`w/W -> warning`
`i/I -> info`
`d/D -> debug`
`n/N -> none`

Types

type Config

type Config struct {
	Log   *log.Logger `yaml:"-" json:"-"`
	Level string
	// driver list: stdout, file, buffer
	Driver string
	// when Driver is file it will be work
	OutputDir string
}

Config builder logging configure.

type Level

type Level int8
const (
	LogAll Level = iota
	LogTrace
	LogDebug
	LogInfo
	LogWarn
	LogError
	LogNone
)

logging Level constant

func ToLevel

func ToLevel(lvl string, args ...Level) (Level, error)

ToLevel turn string to level

type Logger

type Logger struct {
	Level Level

	DisableColor bool
	// contains filtered or unexported fields
}

func NewLogger

func NewLogger(cfgs ...Config) *Logger

NewLogger build a simple logger user it.

Example
lg := NewLogger(Config{Level: "error"})
lg.Debugf("it's a debug level message")
lg.Warnf("it's a warn level message")
lg.Errorf("it's a error level message")
Output:

10:19:38 [ERROR] it's a error level message

func (*Logger) Buffer

func (l *Logger) Buffer() *bytes.Buffer

func (*Logger) DebugFunc

func (l *Logger) DebugFunc(callback func() string)

func (*Logger) Debugf

func (l *Logger) Debugf(message string, args ...any)

func (*Logger) ErrorFunc

func (l *Logger) ErrorFunc(callback func() string)

func (*Logger) Errorf

func (l *Logger) Errorf(message string, args ...any)

func (*Logger) Format

func (l *Logger) Format(prefix, message string, args ...any)

func (*Logger) InfoFunc

func (l *Logger) InfoFunc(callback func() string)

func (*Logger) Infof

func (l *Logger) Infof(message string, args ...any)

func (*Logger) Log

func (l *Logger) Log() *log.Logger

Log get embed go lib log when you need the instance.

func (*Logger) Pref

func (l *Logger) Pref(logPref string) *Logger

func (*Logger) Tracef

func (l *Logger) Tracef(message string, args ...any)

func (*Logger) WarnFunc

func (l *Logger) WarnFunc(callback func() string)

func (*Logger) Warnf

func (l *Logger) Warnf(message string, args ...any)

Directories

Path Synopsis
Package lgr An instance of library logger, used for direct output from the command line, etc.
Package lgr An instance of library logger, used for direct output from the command line, etc.

Jump to

Keyboard shortcuts

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