Documentation ¶
Index ¶
- Variables
- func AddGlobalExtras(extras ...ExtrasGenerator)
- func Debug(message string, extras ...Extras)
- func Error(message string, extras ...Extras)
- func Exception(err error, message string, extras ...Extras)
- func GetLogLevelsForString(logLevel string) (map[LogLevel]bool, error)
- func Info(message string, extras ...Extras)
- func SetGlobalExtras(extras ...ExtrasGenerator)
- func SetRootLogger(identifier string, logger *Logger) error
- func SetRootLoggerExisting(identifier string) error
- func Warn(message string, extras ...Extras)
- type Extras
- type ExtrasFuncs
- type ExtrasGenerator
- type LogFormat
- type LogLevel
- type Logger
- func (self *Logger) AddDefaultExtras(extras ExtrasGenerator, otherExtras ...ExtrasGenerator)
- func (self *Logger) AddWriters(w io.Writer, otherWs ...io.Writer)
- func (self Logger) Close()
- func (self Logger) Debug(message string, extras ...Extras)
- func (self Logger) Error(message string, extras ...Extras)
- func (self Logger) Exception(err error, message string, extras ...Extras)
- func (self Logger) Identifier() string
- func (self Logger) Info(message string, extras ...Extras)
- func (self Logger) Log(level LogLevel, messageBytes []byte)
- func (self *Logger) RemoveWriter(w io.Writer)
- func (self *Logger) SetDefaultExtras(extras ExtrasGenerator, otherExtras ...ExtrasGenerator)
- func (self *Logger) SetFormat(logFormat LogFormat)
- func (self *Logger) SetLogLevel(logLevel LogLevel) error
- func (self *Logger) SetWriters(w io.Writer, otherWs ...io.Writer)
- func (self Logger) Warn(message string, extras ...Extras)
- type LoggerOption
- type PseudoWriter
- type ValueFunc
Constants ¶
This section is empty.
Variables ¶
var ( SloggingEnvVarPrefix = "SLOGGING" RootLoggerLevelEnvVar = prefixEnvVar("ROOT_LOGGER_LEVEL") RootLoggerFormatEnvVar = prefixEnvVar("ROOT_LOGGER_FORMAT") StringifyByteArrays = true )
Functions ¶
func AddGlobalExtras ¶ added in v0.1.0
func AddGlobalExtras(extras ...ExtrasGenerator)
AddGlobalExtras appends the provided extras to the global extras.
func GetLogLevelsForString ¶
GetLogLevelsForString will get the appropriate loglevels for a string log level representation.
func SetGlobalExtras ¶ added in v0.1.0
func SetGlobalExtras(extras ...ExtrasGenerator)
SetGlobalExtras sets the global extras.
func SetRootLogger ¶ added in v1.0.0
SetRootLogger will use the provided identifier as the default logger for future log calls.
func SetRootLoggerExisting ¶ added in v1.0.0
SetRootLoggerExisting will use the provided identifier as the default logger for future log calls.
Types ¶
type Extras ¶ added in v0.3.2
type Extras map[string]interface{}
Extras defines a key, value map that will be marshaled to the final log message.
type ExtrasFuncs ¶ added in v0.3.2
ExtrasFuncs is a map of key, values which will be evaluated at log-time to get the resulting log value.
type ExtrasGenerator ¶ added in v0.3.2
ExtrasGenerator is a function which produces an Extras map when called. The resulting Extras (and possibly error) will be handled by the logger.
func FunctionalExtras ¶ added in v0.3.2
func FunctionalExtras( attributeFuncs ExtrasFuncs, ) ExtrasGenerator
FunctionalExtras adds all items in a key, value (function) map that will append:
key: value()
to the log for each item in the map. Refer to log formats specifications for how this will look when logged.
func GetGlobalExtras ¶ added in v0.1.0
func GetGlobalExtras() []ExtrasGenerator
GetGlobalExtras returns the global extras.
func StaticExtras ¶ added in v0.3.2
func StaticExtras(attributes Extras) ExtrasGenerator
StaticExtras adds all items in a key, value (Extras) map that will append:
key: value
to the log for each item in the map. Refer to log formats specifications for how this will look when logged.
type LogFormat ¶
type LogFormat int
LogFormat is a representation of what format a log should output.
Definition of all the available LogFormats known by this framework.
func FormatFromString ¶ added in v1.0.2
FormatFromString takes a string and returns a format for it.
type LogLevel ¶
type LogLevel string
LogLevel is a representation of the logging level for a logger.
const ( UnsetLogLevel LogLevel = "" ERROR LogLevel = "ERROR" WARN LogLevel = "WARN" INFO LogLevel = "INFO" DEBUG LogLevel = "DEBUG" )
Definition of LogLevels for a logger.
func LogLevelFromString ¶ added in v0.3.2
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger is a logger instance that provides a unified interface for logging data.
func CloneLogger ¶ added in v1.0.1
func CloneLogger( identifier string, baseLogger *Logger, options ...LoggerOption, ) (*Logger, error)
CloneLogger creates a new logger basing it off the provided logger.
func GetRootLogger ¶ added in v1.0.0
func GetRootLogger() *Logger
GetRootLogger gets the root logger.
func NewLogger ¶ added in v0.3.2
func NewLogger( identifier string, options ...LoggerOption, ) (*Logger, error)
NewLogger creates a new logger basing it off the default/root logger.
func (*Logger) AddDefaultExtras ¶ added in v1.0.0
func (self *Logger) AddDefaultExtras( extras ExtrasGenerator, otherExtras ...ExtrasGenerator, )
AddDefaultExtras adds extra(s) which will be added for every log made with this logger.
func (*Logger) AddWriters ¶ added in v1.0.0
AddWriters adds writers provided to the existing writers if they don't already exist (duplicates will not be added multiple times).
func (Logger) Close ¶ added in v1.0.0
func (self Logger) Close()
Close removes this logger from the global Logger registry and performs any cleanup tasks. It is not required to call this function when you're done with a logger but it is highly recommended to clear up memory and prevent accidental identifier clashing.
func (Logger) Exception ¶ added in v1.0.0
Exception logs an error's contents & stack at an error level.
func (Logger) Identifier ¶ added in v1.0.0
Identifier provides this Logger's identifier in the global Logger registry.
func (Logger) Log ¶
Log is the most basic log function. It logs the bytes directly if the loglevel is enabled. No aditional formating is done.
func (*Logger) RemoveWriter ¶ added in v1.0.0
RemoveWriter removes the provided writer if it is found.
func (*Logger) SetDefaultExtras ¶ added in v1.0.0
func (self *Logger) SetDefaultExtras( extras ExtrasGenerator, otherExtras ...ExtrasGenerator, )
SetDefaultExtras sets (overriding) the extra(s) which will be added for every log made with this logger.
func (*Logger) SetFormat ¶ added in v1.0.0
SetFormat changes the loggers format to the provided format.
func (*Logger) SetLogLevel ¶ added in v0.1.0
SetLogLevel sets this logger to log at the provided LogLevel and below.
func (*Logger) SetWriters ¶ added in v1.0.0
SetWriters sets the internal logger's writers to the provided writer(s).
type LoggerOption ¶ added in v0.3.2
type LoggerOption func(*loggerConfig) error
LoggerOption is an option used when creating a new Logger.
func WithDefaultExtras ¶ added in v0.3.2
func WithDefaultExtras( extraParam ExtrasGenerator, extraParams ...ExtrasGenerator, ) LoggerOption
WithDefaultExtras provides one or many Extras that will be logged for every log statement for this Logger.
func WithFormat ¶ added in v0.3.2
func WithFormat(logFormat LogFormat) LoggerOption
WithFormat sets the new Logger's format to the provided format.
func WithLogLevel ¶ added in v0.3.2
func WithLogLevel(logLevel LogLevel) LoggerOption
WithLogLevel sets this Logger's log level to the provided LogLevel.
func WithLogWriters ¶ added in v0.3.2
func WithLogWriters(primary io.Writer, others ...io.Writer) LoggerOption
WithLogWriters sets the provided Logger's writers to the provided writers.
type PseudoWriter ¶
type PseudoWriter struct {
// contains filtered or unexported fields
}
PseudoWriter is a wrapper for JSONLogger for things that need a writer to output.
func NewPseudoWriter ¶ added in v1.0.0
func NewPseudoWriter(logLevel LogLevel, logger *Logger) *PseudoWriter
NewPsuedoWriter wraps a logger with the Write functionality wich writes out logs at a specified log level.