beaver

package module
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2021 License: MIT Imports: 7 Imported by: 9

README

beaver

Make short work of your logs

Loggers

Beaver comes ready to log to stdout via shorthand beaver.Info etc. usage.
However, Beaver can also create new standalone loggers with beaver.New.
Beaver loggers can write to anything implementing the io.Writer interface.

Options

Option Type Effect
TimePrefix boolean Prepends the date/time
StackPrefix boolean Prepends the calling file/line
StackLimit integer Amount of calling file to show, defaults to entire path
LevelPrefix boolean Prepends a logging level prefix, e.g. [T] for Trace
LevelColor boolean Colors the LevelPrefix if enabled
MessageColor boolean Colors the message itself

The default Console configuration is below
Colored messages convey the logging level while reducing the amount of space used for CLI applications

Option Value
TimePrefix false
StackPrefix false
StackLimit 0
LevelPrefix false
LevelColor false
MessageColor true

Colors

Beaver allows you to customize the colors of various parts of the message

color. Default Format
Trace Bold, FgCyan
Debug Bold, FgBlue
Info Bold, FgGreen
Warn Bold, FgYellow
Error Bold, FgRed
Fatal Bold, BgRed
Default None
Time Default
Stack Default
// Set Trace logging to Magenta instead of Bold-Cyan
color.Trace = color.New(color.FgMagenta)

More info for the color package

LICENSE

MIT

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Console = &Logger{
		Writer: os.Stderr,
		Level:  INFO,
		Format: FormatOptions{
			MessageColor: true,
		},
		skip: 4,
	}
)

Functions

func Debug

func Debug(v ...interface{})

Debug logs at DEBUG Level

func Debugf

func Debugf(format string, v ...interface{})

Debugf formats logs at DEBUG Level

func Error

func Error(v ...interface{})

Error logs at ERROR Level

func Errorf

func Errorf(format string, v ...interface{})

Errorf formats logs at ERROR Level

func Fatal

func Fatal(v ...interface{})

Fatal logs at FATAL Level

func Fatalf

func Fatalf(format string, v ...interface{})

Fatalf formats logs at FATAL Level

func Info

func Info(v ...interface{})

Info logs at INFO Level

func Infof

func Infof(format string, v ...interface{})

Infof formats logs at INFO Level

func Log

func Log(level Level, v ...interface{})

Low-Level Log

func Logf

func Logf(level Level, format string, v ...interface{})

Low-Level formatted Log

func Trace

func Trace(v ...interface{})

Trace logs at TRACE Level

func Tracef

func Tracef(format string, v ...interface{})

Tracef formats logs at TRACE Level

func Warn

func Warn(v ...interface{})

Warn logs at WARN Level

func Warnf

func Warnf(format string, v ...interface{})

Warnf formats logs at WARN Level

Types

type FormatOptions

type FormatOptions struct {
	TimePrefix   bool
	StackPrefix  bool
	StackLimit   int
	LevelPrefix  bool
	LevelColor   bool
	MessageColor bool
}

FormatOptions defines formatting options for a logger

type Level

type Level int

Level defines a Beaver logging level

const (
	TRACE Level = iota
	DEBUG
	INFO
	WARN
	ERROR
	FATAL
)

func Levels

func Levels() []Level

Levels returns a list of Beaver logging levels

func ParseLevel

func ParseLevel(level string) Level

ParseLevel parses a string and returns a Beaver Level, defaulting to Info

func (Level) Color

func (l Level) Color() color.Color

Color returns a Level's color, defaulting to bold

func (Level) Prefix

func (l Level) Prefix() string

Prefix returns a prefix for a logging level, optionally colored

func (Level) String

func (l Level) String() string

String returns a human-friendly string

type Logger

type Logger struct {
	Writer io.Writer
	Level  Level
	Format FormatOptions
	// contains filtered or unexported fields
}

Logger is a base Beaver logger

func New

func New(writer io.Writer, level Level, opts FormatOptions) *Logger

New returns a new Beaver logger

func (*Logger) Debug

func (l *Logger) Debug(v ...interface{})

Debug logs at DEBUG Level

func (*Logger) Debugf

func (l *Logger) Debugf(format string, v ...interface{})

Debugf formats logs at DEBUG Level

func (*Logger) Error

func (l *Logger) Error(v ...interface{})

Error logs at ERROR Level

func (*Logger) Errorf

func (l *Logger) Errorf(format string, v ...interface{})

Errorf formats logs at ERROR Level

func (*Logger) Fatal

func (l *Logger) Fatal(v ...interface{})

Fatal logs at FATAL Level

func (*Logger) Fatalf

func (l *Logger) Fatalf(format string, v ...interface{})

Fatalf formats logs at FATAL Level

func (*Logger) Info

func (l *Logger) Info(v ...interface{})

Info logs at INFO Level

func (*Logger) Infof

func (l *Logger) Infof(format string, v ...interface{})

Infof formats logs at INFO Level

func (*Logger) Log

func (l *Logger) Log(level Level, v ...interface{})

Low-Level Log

func (*Logger) Logf

func (l *Logger) Logf(level Level, format string, v ...interface{})

Low-Level formatted Log

func (*Logger) Trace

func (l *Logger) Trace(v ...interface{})

Trace logs at TRACE Level

func (*Logger) Tracef

func (l *Logger) Tracef(format string, v ...interface{})

Tracef formats logs at TRACE Level

func (*Logger) Warn

func (l *Logger) Warn(v ...interface{})

Warn logs at WARN Level

func (*Logger) Warnf

func (l *Logger) Warnf(format string, v ...interface{})

Warnf formats logs at WARN Level

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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