logging

package module
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2021 License: MIT Imports: 14 Imported by: 5

README

Logging package for Go

Coverage Status GoDoc

Thus package provides a more complex logger than the default provided by the standard library log package

Installation

Use the go command:

$ go get github.com/rclancey/logging

Example

errlog := logging.NewLogger(os.Stdout, logging.DEBUG)
errlog.Colorize()
errlog.SetLevelColor(logging.INFO, logging.ColorCyan, logging.ColorDefault, logging.FontDefault)
errlog.SetLevelColor(logging.LOG, logging.ColorMagenta, logging.ColorDefault, logging.FontDefault)
errlog.SetLevelColor(logging.NONE, logging.ColorHotPink, logging.ColorDefault, logging.FontDefault)
errlog.SetTimeFormat("2006-01-02 15:04:05.000")
errlog.SetTimeColor(logging.ColorDefault, logging.ColorDefault, logging.FontItalic | logging.FontLight)
errlog.SetSourceFormat("%{basepath}:%{linenumber}:")
errlog.SetSourceColor(logging.ColorGreen, logging.ColorDefault, logging.FontDefault)
errlog.SetPrefixColor(logging.ColorOrange, logging.ColorDefault, logging.FontDefault)
errlog.SetMessageColor(logging.ColorDefault, logging.ColorDefault, logging.FontDefault)
errlog.MakeDefault()
errlog.Infoln("Server starting...")

Documentation

Documentation is hosted at GoDoc project.

Copyright (C) 2019-2020 by Ryan Clancey

Package released under MIT License. See LICENSE for details.

Documentation

Index

Constants

View Source
const (
	ColorDefault   = ColorCode("default")
	ColorBlack     = ColorCode("black")
	ColorRed       = ColorCode("red")
	ColorGreen     = ColorCode("green")
	ColorYellow    = ColorCode("yellow")
	ColorBlue      = ColorCode("blue")
	ColorMagenta   = ColorCode("magenta")
	ColorCyan      = ColorCode("cyan")
	ColorWhite     = ColorCode("white")
	ColorHotPink   = ColorCode("hot pink")
	ColorOrange    = ColorCode("orange")
	ColorPurple    = ColorCode("purple")
	ColorTurquoise = ColorCode("turquoise")
	ColorLightGray = ColorCode("light gray")
	ColorDarkGray  = ColorCode("dark gray")

	FontDefault   = FontCode(0)
	FontBold      = FontCode(2)
	FontLight     = FontCode(4)
	FontItalic    = FontCode(8)
	FontUnderline = FontCode(16)
	FontBlink     = FontCode(32)
	FontReverse   = FontCode(128)
)
View Source
const (
	DefaultTraceID = "xxxxxxxxxxxxx"
)

Variables

This section is empty.

Functions

func Debug

func Debug(ctx context.Context, args ...interface{})

func Debugf

func Debugf(ctx context.Context, format string, args ...interface{})

func Debugln

func Debugln(ctx context.Context, args ...interface{})

func Deepen

func Deepen(ctx context.Context) context.Context

func Error

func Error(ctx context.Context, args ...interface{})

func Errorf

func Errorf(ctx context.Context, format string, args ...interface{})

func Errorln

func Errorln(ctx context.Context, args ...interface{})

func Fatal

func Fatal(ctx context.Context, args ...interface{})

func Fatalf

func Fatalf(ctx context.Context, format string, args ...interface{})

func Fatalln

func Fatalln(ctx context.Context, args ...interface{})

func Info

func Info(ctx context.Context, args ...interface{})

func Infof

func Infof(ctx context.Context, format string, args ...interface{})

func Infoln

func Infoln(ctx context.Context, args ...interface{})

func NewContext

func NewContext(ctx context.Context, l *Logger) context.Context

func Panic

func Panic(ctx context.Context, args ...interface{})

func Panicf

func Panicf(ctx context.Context, format string, args ...interface{})

func Panicln

func Panicln(ctx context.Context, args ...interface{})

func Prefix

func Prefix() string

func Print

func Print(ctx context.Context, args ...interface{})

func Printf

func Printf(ctx context.Context, format string, args ...interface{})

func Println

func Println(ctx context.Context, args ...interface{})

func RawLog

func RawLog(ctx context.Context, level LogLevel, args ...interface{})

func RawLogf

func RawLogf(ctx context.Context, level LogLevel, format string, args ...interface{})

func RawLogln

func RawLogln(ctx context.Context, level LogLevel, args ...interface{})

func SetFlags

func SetFlags(flags int)

func SetLevel

func SetLevel(level LogLevel)

func SetLevelColor

func SetLevelColor(level LogLevel, fg, bg ColorCode, font FontCode)

func SetMessageColor

func SetMessageColor(fg, bg ColorCode, font FontCode)

func SetOutput

func SetOutput(w io.Writer)

func SetPrefix

func SetPrefix(prefix string)

func SetSourceColor

func SetSourceColor(fg, bg ColorCode, font FontCode)

func SetSourceFormat

func SetSourceFormat(format string)

func SetTimeColor

func SetTimeColor(fg, bg ColorCode, font FontCode)

func SetTimeFormat

func SetTimeFormat(timeFormat string)

func SetTimeZone

func SetTimeZone(timeZone *time.Location)

func StackTrace

func StackTrace(ctx context.Context)

func TimeFormat

func TimeFormat() string

func TimeZone

func TimeZone() *time.Location

func Trace

func Trace(ctx context.Context, fnc TraceFunc, args ...interface{}) error

func Tracef

func Tracef(ctx context.Context, fnc TraceFunc, format string, args ...interface{}) error

func Traceln

func Traceln(ctx context.Context, fnc TraceFunc, args ...interface{}) error

func Warn

func Warn(ctx context.Context, args ...interface{})

func Warnf

func Warnf(ctx context.Context, format string, args ...interface{})

func Warnln

func Warnln(ctx context.Context, args ...interface{})

func Writer

func Writer() io.Writer

Types

type ColorCode

type ColorCode string

type Colorizer

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

func LevelColor

func LevelColor(level LogLevel) *Colorizer

func MessageColor

func MessageColor() *Colorizer

func NewColorizer

func NewColorizer(foreground, background ColorCode, font FontCode) (*Colorizer, error)

func SourceColor

func SourceColor() *Colorizer

func TimeColor

func TimeColor() *Colorizer

func (*Colorizer) Colorize

func (c *Colorizer) Colorize(message string) string

func (*Colorizer) GetBackground

func (c *Colorizer) GetBackground() ColorCode

func (*Colorizer) GetFont

func (c *Colorizer) GetFont() FontCode

func (*Colorizer) GetForeground

func (c *Colorizer) GetForeground() ColorCode

func (*Colorizer) SetBackground

func (c *Colorizer) SetBackground(bg ColorCode) error

func (*Colorizer) SetFont

func (c *Colorizer) SetFont(font FontCode) error

func (*Colorizer) SetForeground

func (c *Colorizer) SetForeground(fg ColorCode) error

type FontCode

type FontCode int

type LogLevel

type LogLevel int
const (
	NONE     LogLevel = 0
	LOG      LogLevel = 1
	CRITICAL LogLevel = 2
	ERROR    LogLevel = 3
	WARNING  LogLevel = 4
	INFO     LogLevel = 5
	TRACE    LogLevel = 6
	DEBUG    LogLevel = 7
	IGNORED  LogLevel = 100
)

func Level

func Level() LogLevel

func (LogLevel) MarshalJSON

func (ll LogLevel) MarshalJSON() ([]byte, error)

func (LogLevel) PaddedString

func (ll LogLevel) PaddedString(n int) string

func (LogLevel) String

func (ll LogLevel) String() string

func (*LogLevel) UnmarshalJSON

func (ll *LogLevel) UnmarshalJSON(data []byte) error

func (*LogLevel) UnmarshalText

func (ll *LogLevel) UnmarshalText(data string) error

type Logger

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

func FromContext

func FromContext(ctx context.Context) *Logger

func NewLogger

func NewLogger(w io.Writer, level LogLevel) *Logger

func (*Logger) Clone

func (l *Logger) Clone() *Logger

func (*Logger) Colorize

func (l *Logger) Colorize()

func (*Logger) Debug

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

func (*Logger) Debugf

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

func (*Logger) Debugln

func (l *Logger) Debugln(args ...interface{})

func (*Logger) Error

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

func (*Logger) Errorf

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

func (*Logger) Errorln

func (l *Logger) Errorln(args ...interface{})

func (*Logger) Fatal

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

func (*Logger) Fatalf

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

func (*Logger) Fatalln

func (l *Logger) Fatalln(args ...interface{})

func (*Logger) Info

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

func (*Logger) Infof

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

func (*Logger) Infoln

func (l *Logger) Infoln(args ...interface{})

func (*Logger) Level

func (l *Logger) Level() LogLevel

func (*Logger) LevelColor

func (l *Logger) LevelColor(level LogLevel) *Colorizer

func (*Logger) MakeDefault

func (l *Logger) MakeDefault()

func (*Logger) MessageColor

func (l *Logger) MessageColor() *Colorizer

func (*Logger) Panic

func (l *Logger) Panic(args ...interface{})

func (*Logger) Panicf

func (l *Logger) Panicf(format string, args ...interface{})

func (*Logger) Panicln

func (l *Logger) Panicln(args ...interface{})

func (*Logger) Prefix

func (l *Logger) Prefix() string

func (*Logger) PrefixColor

func (l *Logger) PrefixColor() *Colorizer

func (*Logger) Print

func (l *Logger) Print(args ...interface{})

func (*Logger) Printf

func (l *Logger) Printf(format string, args ...interface{})

func (*Logger) Println

func (l *Logger) Println(args ...interface{})

func (*Logger) RawLog

func (l *Logger) RawLog(ctx context.Context, level LogLevel, args ...interface{})

func (*Logger) RawLogf

func (l *Logger) RawLogf(ctx context.Context, level LogLevel, format string, args ...interface{})

func (*Logger) RawLogln

func (l *Logger) RawLogln(ctx context.Context, level LogLevel, args ...interface{})

func (*Logger) RawStackTrace

func (l *Logger) RawStackTrace(ctx context.Context, prefix string)

func (*Logger) RawTrace

func (l *Logger) RawTrace(ctx context.Context, fnc TraceFunc, msg string) error

func (*Logger) RawWrite

func (l *Logger) RawWrite(ctx context.Context, level LogLevel, message string, trace ...string) (int, error)

func (*Logger) SetFlags

func (l *Logger) SetFlags(flags int)

func (*Logger) SetLevel

func (l *Logger) SetLevel(level LogLevel)

func (*Logger) SetLevelColor

func (l *Logger) SetLevelColor(level LogLevel, fg, bg ColorCode, font FontCode)

func (*Logger) SetMessageColor

func (l *Logger) SetMessageColor(fg, bg ColorCode, font FontCode)

func (*Logger) SetOutput

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

func (*Logger) SetPrefix

func (l *Logger) SetPrefix(prefix string)

func (*Logger) SetPrefixColor

func (l *Logger) SetPrefixColor(fg, bg ColorCode, font FontCode)

func (*Logger) SetSourceColor

func (l *Logger) SetSourceColor(fg, bg ColorCode, font FontCode)

func (*Logger) SetSourceFormat

func (l *Logger) SetSourceFormat(format string)

func (*Logger) SetTimeColor

func (l *Logger) SetTimeColor(fg, bg ColorCode, font FontCode)

func (*Logger) SetTimeFormat

func (l *Logger) SetTimeFormat(timeFormat string)

func (*Logger) SetTimeZone

func (l *Logger) SetTimeZone(timeZone *time.Location)

func (*Logger) SourceColor

func (l *Logger) SourceColor() *Colorizer

func (*Logger) SourceFormat

func (l *Logger) SourceFormat() *SourceFormatter

func (*Logger) StackTrace

func (l *Logger) StackTrace()

func (*Logger) TimeColor

func (l *Logger) TimeColor() *Colorizer

func (*Logger) TimeFormat

func (l *Logger) TimeFormat() string

func (*Logger) TimeZone

func (l *Logger) TimeZone() *time.Location

func (*Logger) Trace

func (l *Logger) Trace(ctx context.Context, fnc TraceFunc, args ...interface{}) error

func (*Logger) Tracef

func (l *Logger) Tracef(ctx context.Context, fnc TraceFunc, format string, args ...interface{}) error

func (*Logger) Traceln

func (l *Logger) Traceln(ctx context.Context, fnc TraceFunc, args ...interface{}) error

func (*Logger) Warn

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

func (*Logger) Warnf

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

func (*Logger) Warnln

func (l *Logger) Warnln(args ...interface{})

func (*Logger) WithColor

func (l *Logger) WithColor() *Logger

func (*Logger) WithFlags

func (l *Logger) WithFlags(flags int) *Logger

func (*Logger) WithLevel

func (l *Logger) WithLevel(level LogLevel) *Logger

func (*Logger) WithLevelColor

func (l *Logger) WithLevelColor(level LogLevel, fg, bg ColorCode, font FontCode) *Logger

func (*Logger) WithMessageColor

func (l *Logger) WithMessageColor(fg, bg ColorCode, font FontCode) *Logger

func (*Logger) WithOutput

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

func (*Logger) WithPrefix

func (l *Logger) WithPrefix(prefix string) *Logger

func (*Logger) WithPrefixColor

func (l *Logger) WithPrefixColor(fg, bg ColorCode, font FontCode) *Logger

func (*Logger) WithSourceColor

func (l *Logger) WithSourceColor(fg, bg ColorCode, font FontCode) *Logger

func (*Logger) WithSourceFormat

func (l *Logger) WithSourceFormat(format string) *Logger

func (*Logger) WithTimeColor

func (l *Logger) WithTimeColor(fg, bg ColorCode, font FontCode) *Logger

func (*Logger) WithTimeFormat

func (l *Logger) WithTimeFormat(timeFormat string) *Logger

func (*Logger) WithTimeZone

func (l *Logger) WithTimeZone(timeZone *time.Location) *Logger

func (*Logger) WithoutColor

func (l *Logger) WithoutColor() *Logger

func (*Logger) Write

func (l *Logger) Write(data []byte) (int, error)

func (*Logger) Writer

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

type SourceFormatter

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

func NewSourceFormatter

func NewSourceFormatter(layout string) *SourceFormatter

func SourceFormat

func SourceFormat() *SourceFormatter

func (*SourceFormatter) Format

func (sf *SourceFormatter) Format(skip int) string

type SourceRecord

type SourceRecord struct {
	PC                uintptr
	FullPath          string
	FileName          string
	BasePath          string
	LineNumber        int
	Package           string
	QualifiedFunction string
	Receiver          string
	Function          string
}

func NewSourceRecord

func NewSourceRecord(skip int) *SourceRecord

type TraceFunc

type TraceFunc func(ctx context.Context) error

Jump to

Keyboard shortcuts

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