Documentation ¶
Overview ¶
Package 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 Log(lvl Level, message ...interface{})
- func Logf(lvl Level, 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
Examples ¶
Constants ¶
This section is empty.
Variables ¶
var ( // OverrideColor allows overwriting the coloring mode. 0 = auto; // 1 = always; -1 = never // // This can also be set using the Environment-variable `GLOG_COLOR` OverrideColor 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" // 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 // ShortCaller indicates whether the printed caller should be shortened // to only include the package and it's function instead of the entire // import-path. ShortCaller = true // ShowCallerLine displays file and line as the caller instead of the // function that called. ShowCallerLine bool // PanicLogFile is the file panics are logged to. PanicLogFile = "panic.log" )
Functions ¶
func AddLogFile ¶
AddLogFile opens the specified files and adds it to the specified levels
func AddOutputAbove ¶
AddOutputAbove adds the specified output to the list of outputs for the levels including and above the specified levels.
Example ¶
AddOutputAbove(WARNING, os.Stderr) // is equal to AddOutput(WARNING, os.Stderr) AddOutput(ERROR, os.Stderr) AddOutput(FATAL, os.Stderr)
Output:
func AddOutputBelow ¶
AddOutputBelow adds the specified output to the list of outputs for the specified levels.
Example ¶
AddOutputBelow(WARNING, os.Stderr) // is equal to AddOutput(WARNING, os.Stderr) AddOutput(INFO, os.Stderr) AddOutput(DEBUG, os.Stderr) AddOutput(TRACE, os.Stderr)
Output:
func AddOutputBetween ¶
AddOutputBetween adds the specified output to the list of outputs for all specified levels.
Example ¶
AddOutputBetween(DEBUG, ERROR, os.Stderr) // is equal to AddOutput(DEBUG, os.Stderr) AddOutput(INFO, os.Stderr) AddOutput(WARNING, os.Stderr) AddOutput(ERROR, os.Stderr)
Output:
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 it is recommended to exit the program 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 channel. It is recommended to exit the program afterwards.
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 Log ¶ added in v0.3.1
func Log(lvl Level, message ...interface{})
Log logs a message at the specified level
func Logf ¶ added in v0.3.1
Logf 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 SetLevel ¶ added in v0.1.1
SetLevel allows setting the loglevel while preserving the level set using the environment
func SetOutput ¶
SetOutput removes all outputs and replaces them with the specified output. To discard log messages to a 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 all specified levels. For more information on the inner workings of SetOutput* see the SetOutput() function.
Example ¶
SetOutputAbove(WARNING, os.Stderr) // is equal to SetOutput(WARNING, os.Stderr) SetOutput(ERROR, os.Stderr) SetOutput(FATAL, os.Stderr)
Output:
func SetOutputBelow ¶
SetOutputBelow removes all outputs and replaces them with the specified output. This is repeated for all specified levels. For more information on the inner workings of SetOutput* see the SetOutput() function.
Example ¶
SetOutputBelow(WARNING, os.Stderr) // is equal to SetOutput(WARNING, os.Stderr) SetOutput(INFO, os.Stderr) SetOutput(DEBUG, os.Stderr) SetOutput(TRACE, os.Stderr)
Output:
func SetOutputBetween ¶
SetOutputBetween removes all outputs and replaces them with the specified output. This is executed for all specified levels. For more information on the inner workings of SetOutput* see the SetOutput() function.
Example ¶
SetOutputBetween(DEBUG, ERROR, os.Stderr) // is equal to SetOutput(DEBUG, os.Stderr) SetOutput(INFO, os.Stderr) SetOutput(WARNING, os.Stderr) SetOutput(ERROR, os.Stderr)
Output:
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 Level ¶
type Level uint8
Level is an alias to allow attaching functions to Loglevels.
func ParseLevel ¶ added in v0.3.1
ParseLevel takes in a string and returns the corresponding loglevel. If it does not exist, default is returned instead.
type StyleFunction ¶
type StyleFunction func(...interface{}) string
StyleFunction is a kind of function that is used for styling. I know, who would have thought.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package logrotation provides a writer that automatically rotates logfiles if the set maximum size is reached or exceeded.
|
Package logrotation provides a writer that automatically rotates logfiles if the set maximum size is reached or exceeded. |