Documentation ¶
Overview ¶
glog aims to be the "one for all" logging package. It has a wide variety of features. To "handle errors gracefully" most times when a Setting-Function is called, no error is returned. If the specified level does not exist, execution is just silently aborted.
An important note is that *all* log-level ranges are inclusive. This means that "below …" actually means "below or equal to …".
Index ¶
- Variables
- func AddLogFile(filepath string, lvls ...Level) (*os.File, error)
- func AddOutput(lvl Level, output io.Writer)
- func AddOutputAbove(lvl Level, output io.Writer)
- func AddOutputBelow(lvl Level, output io.Writer)
- func AddOutputBetween(lowerLevel, upperLevel Level, output io.Writer)
- func Debug(message ...interface{})
- func Debugf(format string, values ...interface{})
- func Error(message ...interface{})
- func Errorf(format string, values ...interface{})
- func Fatal(message ...interface{})
- func FatalStyle(content ...interface{}) string
- func Fatalf(format string, values ...interface{})
- func GetCaller(skipFrames int) string
- func Info(message ...interface{})
- func Infof(format string, values ...interface{})
- func PanicHandler()
- func PlainStyle(content ...interface{}) string
- func SetLevel(lvl Level) bool
- func SetOutput(lvl Level, output io.Writer)
- func SetOutputAbove(lvl Level, output io.Writer)
- func SetOutputBelow(lvl Level, output io.Writer)
- func SetOutputBetween(lowerLevel, upperLevel Level, output io.Writer)
- func SetShowCaller(lvl Level, show bool)
- func SetStyle(lvl Level, styler StyleFunction)
- func Trace(message ...interface{})
- func Tracef(format string, values ...interface{})
- func Warn(message ...interface{})
- func Warnf(format string, values ...interface{})
- type FormatFunction
- type Level
- type StyleFunction
Constants ¶
This section is empty.
Variables ¶
var ( // OverwriteColor allows overwriting the coloring mode. 0 = auto; // 1 = always; -1 = never // // This can also be set using the Environment-variable `GLOG_COLOR` OverwriteColor int8 // LogLevel indicates the level of verbosity to use when logging. // Messages below the specified level are discarded. Usually you want to // use SetLevel() to ensure that overrides are correctly applied. // // This can also be set using the Environment-variable `GLOG_LEVEL` LogLevel = WARNING )
var ( // TimeFormat specifies the formatting of the timestamp to use. The // default is ISO-8601 which corresponds to: TimeFormat = "2006-01-02T15:04:05.000000-0700" // NoPanic indicates that after a call to Fatal(f) no panic-stop shall // be executed. NoPanic bool // LogFormatter contains the function used to actually format logged // statements. Changing this allows complete control over the format of // log messages. LogFormatter FormatFunction = defaultLogFormat // EnableMetaLogging starts logging the inner workings of this library // and is usually only used when developing but can be helpful if there // are issues with your logging. If you happen to find a bug, please // don't hesitate it at: https://todo.sr.ht/~poldi1405/issues // (no account needed) EnableMetaLogging bool )
Functions ¶
func AddLogFile ¶
AddLogFile opens the specified files and adds it to the specified levels
func AddOutputAbove ¶
AddOutput adds the specified output to the list of outputs for the specified levels.
func AddOutputBelow ¶
AddOutput adds the specified output to the list of outputs for the specified levels.
func AddOutputBetween ¶
AddOutputBetween adds the specified output to the list of outputs for all specified levels.
func Debugf ¶
func Debugf(format string, values ...interface{})
Debugf formats the input values as specified and writes them to the according channels
func Errorf ¶
func Errorf(format string, values ...interface{})
Errorf formats the input values as specified and writes them to the according channels
func Fatal ¶
func Fatal(message ...interface{})
Fatal logs a message at the FATAL level and Panics afterwards
func FatalStyle ¶ added in v0.1.2
func FatalStyle(content ...interface{}) string
FatalStyle is the default style for fatal logmessages. Just in case you want to restore it after changing it.
func Fatalf ¶
func Fatalf(format string, values ...interface{})
Fatalf formats the input values as specified and writes them to the according channels
func GetCaller ¶ added in v0.1.2
GetCaller returns the calling function. skipFrames indicates how far up the ladder we go when looking for the caller (2 = direct caller, 3 = caller of the caller, …). You can use this for more information in your log messages when creating custom formatters. Note that this is *relatively* expensive.
func Infof ¶
func Infof(format string, values ...interface{})
Infof formats the input values as specified and writes them to the according channels
func PanicHandler ¶ added in v0.1.2
func PanicHandler()
PanicHandler logs a panic if it occurs. A panic is always written to panic.log and then passed on. Under *no* circumstances should this be used as a way to ensure a programs stability. Make your own function for that.
func PlainStyle ¶
func PlainStyle(content ...interface{}) string
PlainStyle is an implementation of StyleFunction that does not format output.
func SetOutput ¶
SetOutput removes all outputs and replaces them with the specified output. To discard log messages to this level set the loglevel accordingly or use `io.Discard`
func SetOutputAbove ¶
SetOutputAbove removes all outputs and replaces them with the specified output. This is repeated for every specified level.
func SetOutputBelow ¶
SetOutput removes all outputs and replaces them with the specified output. This is repeated for every specified level.
func SetOutputBetween ¶
SetOutputBetween removes all outputs and replaces them with the specified output. This is executed for all specified levels.
func SetShowCaller ¶
SetShowCaller allows defining for what levels the caller is displayed in the Log. By default the caller is shown for TRACE, DEBUG, ERROR, and FATAL.
func SetStyle ¶
func SetStyle(lvl Level, styler StyleFunction)
SetStyle allows customizing the look of the *error-level*. This can also be used for changing the names of the loglevels.
Types ¶
type FormatFunction ¶ added in v0.1.2
FormatFunction allow defining custom logging formats and changing around the order. If Caller is not set all I can do at the moment is passing an empty string.
The string arguments correspond to caller and message.
type StyleFunction ¶
type StyleFunction func(...interface{}) string
StyleFunction is a kind of function that is used for styling. I know, who would have thought.