lol

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2024 License: CC0-1.0, CC0-1.0 Imports: 9 Imported by: 0

README

lol

location of log

This is a very simple, but practical library for logging in applications. Its main feature is printing source code locations to make debugging easier.

Documentation

Index

Constants

View Source
const (
	Off = iota
	Fatal
	Error
	Warn
	Info
	Debug
	Trace
)

Variables

View Source
var (

	// LevelSpecs specifies the id, string name and color-printing function
	LevelSpecs = []LevelSpec{
		{Off, "   ", color.Bit24(0, 0, 0, false).Sprint},
		{Fatal, "FTL", color.Bit24(128, 0, 0, false).Sprint},
		{Error, "ERR", color.Bit24(255, 0, 0, false).Sprint},
		{Warn, "WRN", color.Bit24(0, 255, 0, false).Sprint},
		{Info, "INF", color.Bit24(255, 255, 0, false).Sprint},
		{Debug, "DBG", color.Bit24(0, 125, 255, false).Sprint},
		{Trace, "TRC", color.Bit24(125, 0, 255, false).Sprint},
	}
)

Functions

func GetLoc

func GetLoc(skip int) (output string)

func GetLogLevel

func GetLogLevel() (l int)

func JoinStrings

func JoinStrings(a ...any) (s string)

func New

func New(writer io.Writer) (l *Log, c *Check)

func SetLogLevel

func SetLogLevel(l int)

SetLogLevel sets the log level via a string, which can be truncated down to one character, similar to nmcli's argument processor, as the first letter is unique. This could be used with a linter to make larger command sets.

func UnixNanoAsFloat

func UnixNanoAsFloat() (s string)

UnixNanoAsFloat e

Types

type C

type C func(closure func() string)

C accepts a function so that the extra computation can be avoided if it is not being viewed

type Check

type Check struct {
	F, E, W, I, D, T Chk
}

type Chk

type Chk func(e error) bool

Chk is a shortcut for printing if there is an error, or returning true

type Entry

type Entry struct {
	Time         time.Time
	Level        string
	Package      string
	CodeLocation string
	Text         string
}

Entry is a log entry to be printed as json to the log file

type Err

type Err func(format string, a ...interface{}) error

Err is a pass-through function that uses fmt.Errorf to construct an error and returns the error after printing it to the log

type F

type F func(format string, a ...interface{})

F prints like fmt.Println surrounded by log details

type LevelPrinter

type LevelPrinter struct {
	Ln
	F
	S
	C
	Chk
	Err
}

func GetPrinter

func GetPrinter(l int32, writer io.Writer) LevelPrinter

type LevelSpec

type LevelSpec struct {
	ID        int
	Name      string
	Colorizer func(a ...interface{}) string
}

type Ln

type Ln func(a ...interface{})

Ln prints lists of interfaces with spaces in between

type Log

type Log struct {
	F, E, W, I, D, T LevelPrinter
}

Log is a set of log printers for the various Level items.

func GetStd

func GetStd() (ll *Log)

type S

type S func(a ...interface{})

S prints a spew.Sdump for an interface slice

Jump to

Keyboard shortcuts

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