log

package
v0.0.0-...-22ee7cd Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2024 License: MIT Imports: 13 Imported by: 6

Documentation

Index

Examples

Constants

View Source
const (
	LevelDebug = Level(slog.LevelDebug)
	LevelInfo  = Level(slog.LevelInfo)
	LevelWarn  = Level(slog.LevelWarn)
	LevelError = Level(slog.LevelError)
	LevelPanic = Level(slog.LevelError + 1)
	LevelFatal = Level(slog.LevelError + 2)

	LevelNone = Level(-99)
	LevelAll  = Level(99)
)

Variables

This section is empty.

Functions

func Debug

func Debug(a ...any)

func Debugf

func Debugf(format string, a ...any)

func Error

func Error(a ...any)

func ErrorAt

func ErrorAt(err error, a ...any) error

func ErrorAtf

func ErrorAtf(err error, format string, a ...any) error

func Errorf

func Errorf(format string, a ...any)

func Fatal

func Fatal(a ...any)

func Fatalf

func Fatalf(format string, a ...any)

func GetWriter

func GetWriter(level Level) io.Writer

func Info

func Info(a ...any)

func Infof

func Infof(format string, a ...any)

func Panic

func Panic(a ...any)

func Panicf

func Panicf(format string, a ...any)

func Print

func Print(a ...any)
Example
package main

import (
	"os"

	"github.com/jopbrown/gobase/log"
)

func main() {
	log.SetGlobalLogger(log.NewLogger(os.Stdout, log.LevelInfo, log.LevelFatal))
	log.SetGlobalVerbose(1)

	log.Print("Print\n")
	log.Printf("%s\n", "Printf")
	log.Println("Println")
	log.Printlnf("%s", "Printlnf")

	v1 := log.V(1)
	v1.Print("v1: Print\n")
	v1.Printf("v1: %s\n", "Printf")
	v1.Println("v1: Println")
	v1.Printlnf("v1: %s", "Printlnf")

	v2 := log.V(2)
	v2.Print("v2: Print\n")
	v2.Printf("v2: %s\n", "Printf")
	v2.Println("v2: Println")
	v2.Printlnf("v2: %s", "Printlnf")

}
Output:

	Print
Printf
Println
Printlnf
v1: Print
v1: Printf
v1: Println
v1: Printlnf

func Printf

func Printf(format string, a ...any)

func Println

func Println(a ...any)

func Printlnf

func Printlnf(format string, a ...any)

func S

func S(json bool) *slog.Logger

func SetGlobalLogger

func SetGlobalLogger(l ILogger)

func SetGlobalVerbose

func SetGlobalVerbose(v int) int

func Warn

func Warn(a ...any)

func Warnf

func Warnf(format string, a ...any)

Types

type ILogger

type ILogger interface {
	GetWriter(level Level) io.Writer
	V(v int) ILogger
	With(prefix string) ILogger
	S(json bool) *slog.Logger

	Print(a ...any)
	Printf(format string, a ...any)
	Println(a ...any)
	Printlnf(format string, a ...any)
	Debug(a ...any)
	Debugf(format string, a ...any)
	Info(a ...any)
	Infof(format string, a ...any)
	Warn(a ...any)
	Warnf(format string, a ...any)
	Error(a ...any)
	Errorf(format string, a ...any)
	ErrorAt(err error, a ...any) error
	ErrorAtf(err error, format string, a ...any) error
	Fatal(a ...any)
	Fatalf(format string, a ...any)
	Panic(a ...any)
	Panicf(format string, a ...any)
	// contains filtered or unexported methods
}

func ConsoleLogger

func ConsoleLogger(debug bool) ILogger

func DefaultLogger

func DefaultLogger(debug bool) ILogger

func FileLogger

func FileLogger(w io.Writer, format LoggerFormat, debug bool) ILogger

func V

func V(v int) ILogger

func With

func With(prefix string) ILogger

type Level

type Level slog.Level

func (Level) Level

func (l Level) Level() slog.Level

func (Level) MarshalJSON

func (l Level) MarshalJSON() ([]byte, error)

func (Level) MarshalText

func (l Level) MarshalText() ([]byte, error)

func (Level) String

func (l Level) String() string

func (*Level) UnmarshalJSON

func (l *Level) UnmarshalJSON(data []byte) error

func (*Level) UnmarshalText

func (l *Level) UnmarshalText(data []byte) error

type Logger

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

func NewLogger

func NewLogger(out io.Writer, minLevel, maxLevel Level) *Logger

func NewLoggerWithFormat

func NewLoggerWithFormat(out io.Writer, minLevel, maxLevel Level, format LoggerFormat) *Logger

func (*Logger) Clone

func (l *Logger) Clone() *Logger

func (*Logger) Debug

func (l *Logger) Debug(a ...any)

func (*Logger) Debugf

func (l *Logger) Debugf(format string, a ...any)

func (*Logger) Error

func (l *Logger) Error(a ...any)

func (*Logger) ErrorAt

func (l *Logger) ErrorAt(err error, a ...any) error

func (*Logger) ErrorAtf

func (l *Logger) ErrorAtf(err error, format string, a ...any) error

func (*Logger) Errorf

func (l *Logger) Errorf(format string, a ...any)

func (*Logger) Fatal

func (l *Logger) Fatal(a ...any)

func (*Logger) Fatalf

func (l *Logger) Fatalf(format string, a ...any)

func (*Logger) Format

func (l *Logger) Format() LoggerFormat

func (*Logger) GetWriter

func (l *Logger) GetWriter(level Level) io.Writer

func (*Logger) Info

func (l *Logger) Info(a ...any)

func (*Logger) Infof

func (l *Logger) Infof(format string, a ...any)

func (*Logger) Panic

func (l *Logger) Panic(a ...any)

func (*Logger) Panicf

func (l *Logger) Panicf(format string, a ...any)

func (*Logger) Print

func (l *Logger) Print(a ...any)

func (*Logger) Printf

func (l *Logger) Printf(format string, a ...any)

func (*Logger) Println

func (l *Logger) Println(a ...any)

func (*Logger) Printlnf

func (l *Logger) Printlnf(format string, a ...any)

func (*Logger) S

func (l *Logger) S(json bool) *slog.Logger

func (*Logger) SetFormat

func (l *Logger) SetFormat(format LoggerFormat)

func (*Logger) SetOutput

func (l *Logger) SetOutput(w io.Writer)

func (*Logger) V

func (l *Logger) V(v int) ILogger

func (*Logger) Warn

func (l *Logger) Warn(a ...any)

func (*Logger) Warnf

func (l *Logger) Warnf(format string, a ...any)

func (*Logger) With

func (l *Logger) With(prefix string) ILogger

type LoggerFormat

type LoggerFormat struct {
	AddLevel       bool
	AddVerbose     bool
	AddPrefix      bool
	AddCaller      bool
	AddSource      bool
	AddDateTime    bool
	LongCaller     bool
	SourceDepth    int
	DateTimeFormat LoggerFormatDateTime
}

func DefaultLoggerFormat

func DefaultLoggerFormat() LoggerFormat

func FileLoggerFormat

func FileLoggerFormat() LoggerFormat

func FullLoggerFormat

func FullLoggerFormat() LoggerFormat

func SimpleLoggerFormat

func SimpleLoggerFormat() LoggerFormat

func TestLoggerFormat

func TestLoggerFormat() LoggerFormat

type LoggerFormatDateTime

type LoggerFormatDateTime struct {
	AddDate         bool
	AddTime         bool
	AddMicroseconds bool
}

type TeeLogger

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

func NewTeeLogger

func NewTeeLogger(loggers ...ILogger) *TeeLogger

func (*TeeLogger) Debug

func (tee *TeeLogger) Debug(a ...any)

func (*TeeLogger) Debugf

func (tee *TeeLogger) Debugf(format string, a ...any)

func (*TeeLogger) Error

func (tee *TeeLogger) Error(a ...any)

func (*TeeLogger) ErrorAt

func (tee *TeeLogger) ErrorAt(err error, a ...any) error

func (*TeeLogger) ErrorAtf

func (tee *TeeLogger) ErrorAtf(err error, format string, a ...any) error

func (*TeeLogger) Errorf

func (tee *TeeLogger) Errorf(format string, a ...any)

func (*TeeLogger) Fatal

func (tee *TeeLogger) Fatal(a ...any)

func (*TeeLogger) Fatalf

func (tee *TeeLogger) Fatalf(format string, a ...any)

func (*TeeLogger) GetWriter

func (tee *TeeLogger) GetWriter(level Level) io.Writer

func (*TeeLogger) Info

func (tee *TeeLogger) Info(a ...any)

func (*TeeLogger) Infof

func (tee *TeeLogger) Infof(format string, a ...any)

func (*TeeLogger) Panic

func (tee *TeeLogger) Panic(a ...any)

func (*TeeLogger) Panicf

func (tee *TeeLogger) Panicf(format string, a ...any)

func (*TeeLogger) Print

func (tee *TeeLogger) Print(a ...any)

func (*TeeLogger) Printf

func (tee *TeeLogger) Printf(format string, a ...any)

func (*TeeLogger) Println

func (tee *TeeLogger) Println(a ...any)

func (*TeeLogger) Printlnf

func (tee *TeeLogger) Printlnf(format string, a ...any)

func (*TeeLogger) S

func (tee *TeeLogger) S(json bool) *slog.Logger

func (*TeeLogger) V

func (tee *TeeLogger) V(v int) ILogger

func (*TeeLogger) Warn

func (tee *TeeLogger) Warn(a ...any)

func (*TeeLogger) Warnf

func (tee *TeeLogger) Warnf(format string, a ...any)

func (*TeeLogger) With

func (tee *TeeLogger) With(prefix string) ILogger

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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