liblog

package
v0.0.0-...-8e6cb86 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var LevelColors = map[Level]lipgloss.TerminalColor{
	TraceLevel: lipgloss.Color("#3FCD23"),
	DebugLevel: lipgloss.Color("#29C6E8"),
	InfoLevel:  lipgloss.Color("#2C75FE"),
	WarnLevel:  lipgloss.Color("#E7C229"),
	ErrorLevel: lipgloss.Color("#FF2A25"),
	PanicLevel: lipgloss.Color("#FF2A25"),
	FatalLevel: lipgloss.Color("#FF2A25"),
}

Functions

func ContextWith

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

func NewConsoleRenderer

func NewConsoleRenderer(w io.Writer) *lipgloss.Renderer

func SetDefaultLogger

func SetDefaultLogger(f func() Logger)

Types

type Buffer

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

func (Buffer) Bytes

func (b Buffer) Bytes() []byte

func (Buffer) Free

func (b Buffer) Free()

type Collector

type Collector interface {
	Write(Entry) error
}

func NewConsole

func NewConsole(w io.Writer) Collector

func NewConsoleJSON

func NewConsoleJSON(w io.Writer) Collector

func NewConsoleWith

func NewConsoleWith(w io.Writer, r *lipgloss.Renderer) Collector

type ConsoleFormatter

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

func NewConsoleFormatter

func NewConsoleFormatter(r *lipgloss.Renderer) *ConsoleFormatter

func (*ConsoleFormatter) Format

func (f *ConsoleFormatter) Format(entry Entry) Buffer

type Core

type Core interface {
	Enabled(Level) bool
	Log(Entry) error
}

func NewCore

func NewCore(collector Collector) Core

func NewLevelEnabler

func NewLevelEnabler(core Core, enabler LevelEnablerFunc) Core

func NewLock

func NewLock(core Core) Core

func NewTee

func NewTee(cores ...Core) Core

type Entry

type Entry struct {
	Timestamp time.Time
	Level     Level
	Message   string
	Fields    []EntryField
}

type EntryField

type EntryField struct {
	Key   string
	Value FieldMarshal
}

type FieldMarshal

type FieldMarshal interface {
	Write(w io.Writer)
}

func FallbackMarshal

func FallbackMarshal(v any) FieldMarshal

func StringMarshal

func StringMarshal(s string) FieldMarshal

type Formatter

type Formatter interface {
	Format(entry Entry) Buffer
}

type FuncMarshal

type FuncMarshal func(w io.Writer)

func (FuncMarshal) Write

func (f FuncMarshal) Write(w io.Writer)

type JSONFormatter

type JSONFormatter struct {
	MsgField       string
	LevelField     string
	TimestampField string
}

func NewJSONFormatter

func NewJSONFormatter() *JSONFormatter

func (*JSONFormatter) Format

func (j *JSONFormatter) Format(entry Entry) Buffer

type Level

type Level int8
const (
	InvalidLevel Level = 0
	TraceLevel   Level = iota
	DebugLevel
	InfoLevel
	WarnLevel
	ErrorLevel
	PanicLevel
	// FatalLevel logs a message, then calls os.Exit(1).
	FatalLevel
)

func ParseLevel

func ParseLevel(s string) (Level, error)

func (Level) String

func (l Level) String() string

type LevelEnablerFunc

type LevelEnablerFunc func(Level) bool

type Logger

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

func Default

func Default() Logger

func FromContext

func FromContext(ctx context.Context) Logger

func NewLogger

func NewLogger(core Core) Logger

func (Logger) Debug

func (l Logger) Debug(args ...any)

func (Logger) Debugf

func (l Logger) Debugf(f string, args ...interface{})

func (Logger) Error

func (l Logger) Error(args ...any)

func (Logger) Errorf

func (l Logger) Errorf(f string, args ...interface{})

func (Logger) Fatal

func (l Logger) Fatal(args ...any)

func (Logger) Fatalf

func (l Logger) Fatalf(f string, args ...interface{})

func (Logger) Fields

func (l Logger) Fields(args ...interface{}) Logger

func (Logger) Info

func (l Logger) Info(args ...any)

func (Logger) Infof

func (l Logger) Infof(f string, args ...interface{})

func (Logger) IsLevelEnabled

func (l Logger) IsLevelEnabled(lvl Level) bool

func (Logger) Trace

func (l Logger) Trace(args ...any)

func (Logger) Tracef

func (l Logger) Tracef(f string, args ...interface{})

func (Logger) Warn

func (l Logger) Warn(args ...any)

func (Logger) Warnf

func (l Logger) Warnf(f string, args ...interface{})

Jump to

Keyboard shortcuts

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