...

Package jwalterweatherman

import "github.com/spf13/jwalterweatherman"
Overview
Index

Overview ▾

Index ▾

Package files

default_notepad.go log_counter.go notepad.go

Variables

var (
    TRACE    *log.Logger
    DEBUG    *log.Logger
    INFO     *log.Logger
    WARN     *log.Logger
    ERROR    *log.Logger
    CRITICAL *log.Logger
    FATAL    *log.Logger

    LOG      *log.Logger
    FEEDBACK *Feedback
)

func SetFlags

func SetFlags(flags int)

SetFlags set the flags for the default logger. "log.Ldate | log.Ltime" by default.

func SetLogListeners

func SetLogListeners(l ...LogListener)

SetLogListeners configures the default logger with one or more log listeners.

func SetLogOutput

func SetLogOutput(handle io.Writer)

SetLogOutput set the log output for the default notepad. Discarded by default.

func SetLogThreshold

func SetLogThreshold(threshold Threshold)

SetLogThreshold set the log threshold for the default notepad. Trace by default.

func SetPrefix

func SetPrefix(prefix string)

SetPrefix set the prefix for the default logger. Empty by default.

func SetStdoutOutput

func SetStdoutOutput(handle io.Writer)

SetStdoutOutput set the stdout output for the default notepad. Default is stdout.

func SetStdoutThreshold

func SetStdoutThreshold(threshold Threshold)

SetStdoutThreshold set the standard output threshold for the default notepad. Info by default.

type Counter

Counter is an io.Writer that increments a counter on Write.

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

func (*Counter) Count

func (c *Counter) Count() uint64

Count returns the current count.

func (*Counter) Reset

func (c *Counter) Reset()

Reset resets the counter.

func (*Counter) Write

func (c *Counter) Write(p []byte) (n int, err error)

type Feedback

Feedback writes plainly to the outHandle while logging with the standard extra information (date, file, etc).

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

func (*Feedback) Print

func (fb *Feedback) Print(v ...interface{})

func (*Feedback) Printf

func (fb *Feedback) Printf(format string, v ...interface{})

func (*Feedback) Println

func (fb *Feedback) Println(v ...interface{})

type LogListener

A LogListener can ble supplied to a Notepad to listen on log writes for a given threshold. This can be used to capture log events in unit tests and similar. Note that this function will be invoked once for each log threshold. If the given threshold is not of interest to you, return nil. Note that these listeners will receive log events for a given threshold, even if the current configuration says not to log it. That way you can count ERRORs even if you don't print them to the console.

type LogListener func(t Threshold) io.Writer

func LogCounter

func LogCounter(counter *Counter, t1 Threshold) LogListener

LogCounter creates a LogListener that counts log statements >= the given threshold.

type Notepad

Notepad is where you leave a note!

type Notepad struct {
    TRACE    *log.Logger
    DEBUG    *log.Logger
    INFO     *log.Logger
    WARN     *log.Logger
    ERROR    *log.Logger
    CRITICAL *log.Logger
    FATAL    *log.Logger

    LOG      *log.Logger
    FEEDBACK *Feedback
    // contains filtered or unexported fields
}

func NewNotepad

func NewNotepad(
    outThreshold Threshold,
    logThreshold Threshold,
    outHandle, logHandle io.Writer,
    prefix string, flags int,
    logListeners ...LogListener,
) *Notepad

NewNotepad creates a new Notepad.

func (*Notepad) GetLogThreshold

func (n *Notepad) GetLogThreshold() Threshold

GetStdoutThreshold returns the defined Treshold for the log logger.

func (*Notepad) GetStdoutThreshold

func (n *Notepad) GetStdoutThreshold() Threshold

GetStdoutThreshold returns the Treshold for the stdout logger.

func (*Notepad) SetFlags

func (n *Notepad) SetFlags(flags int)

SetFlags choose which flags the logger will display (after prefix and message level). See the package log for more informations on this.

func (*Notepad) SetLogOutput

func (n *Notepad) SetLogOutput(handle io.Writer)

SetLogOutput changes the file where log messages are written.

func (*Notepad) SetLogThreshold

func (n *Notepad) SetLogThreshold(threshold Threshold)

SetLogThreshold changes the threshold above which messages are written to the log file.

func (*Notepad) SetPrefix

func (n *Notepad) SetPrefix(prefix string)

SetPrefix changes the prefix used by the notepad. Prefixes are displayed between brackets at the beginning of the line. An empty prefix won't be displayed at all.

func (*Notepad) SetStdoutThreshold

func (n *Notepad) SetStdoutThreshold(threshold Threshold)

SetStdoutThreshold changes the threshold above which messages are written to the standard output.

type Threshold

type Threshold int
const (
    LevelTrace Threshold = iota
    LevelDebug
    LevelInfo
    LevelWarn
    LevelError
    LevelCritical
    LevelFatal
)

func GetLogThreshold

func GetLogThreshold() Threshold

GetStdoutThreshold returns the defined Treshold for the log logger.

func GetStdoutThreshold

func GetStdoutThreshold() Threshold

GetStdoutThreshold returns the Treshold for the stdout logger.

func LogThreshold

func LogThreshold() Threshold

Level returns the current global log threshold.

func StdoutThreshold

func StdoutThreshold() Threshold

Level returns the current global output threshold.

func (Threshold) String

func (t Threshold) String() string