Documentation ¶
Overview ¶
Package log provides types and functions related to logging, passing loggers through a context, and attaching context to the logger.
Transitional types ¶
This package contains various types that are aliases for types in logrus. These aliases are intended for transitioning away from hard-coding logrus as logging implementation. Consumers of this package are encouraged to use the type-aliases from this package instead of directly using their logrus equivalent.
The intent is to replace these aliases with locally defined types and interfaces once all consumers are no longer directly importing logrus types.
IMPORTANT: due to the transitional purpose of this package, it is not guaranteed for the full logrus API to be provided in the future. As outlined, these aliases are provided as a step to transition away from a specific implementation which, as a result, exposes the full logrus API. While no decisions have been made on the ultimate design and interface provided by this package, we do not expect carrying "less common" features.
Index ¶
Constants ¶
const RFC3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00"
RFC3339NanoFixed is time.RFC3339Nano with nanoseconds padded using zeros to ensure the formatted time is always the same number of characters.
Variables ¶
var G = GetLogger
G is a shorthand for GetLogger.
We may want to define this locally to a package to get package tagged log messages.
var L = &Entry{ Logger: logrus.StandardLogger(), Data: make(Fields, 6), }
L is an alias for the standard logger.
Functions ¶
func SetFormat ¶
func SetFormat(format OutputFormat) error
SetFormat sets the log output format (TextFormat or JSONFormat).
func SetLevel ¶
SetLevel sets log level globally. It returns an error if the given level is not supported.
level can be one of:
- "trace" (TraceLevel)
- "debug" (DebugLevel)
- "info" (InfoLevel)
- "warn" (WarnLevel)
- "error" (ErrorLevel)
- "fatal" (FatalLevel)
- "panic" (PanicLevel)
Types ¶
type Entry ¶
Entry is a logging entry. It contains all the fields passed with [Entry.WithFields]. It's finally logged when Trace, Debug, Info, Warn, Error, Fatal or Panic is called on it. These objects can be reused and passed around as much as you wish to avoid field duplication.
Entry is a transitional type, and currently an alias for logrus.Entry.
type Level ¶
Level is a logging level.
const ( // TraceLevel level. Designates finer-grained informational events // than [DebugLevel]. TraceLevel Level = logrus.TraceLevel // DebugLevel level. Usually only enabled when debugging. Very verbose // logging. DebugLevel Level = logrus.DebugLevel // InfoLevel level. General operational entries about what's going on // inside the application. InfoLevel Level = logrus.InfoLevel // WarnLevel level. Non-critical entries that deserve eyes. WarnLevel Level = logrus.WarnLevel // ErrorLevel level. Logs errors that should definitely be noted. // Commonly used for hooks to send errors to an error tracking service. ErrorLevel Level = logrus.ErrorLevel // FatalLevel level. Logs and then calls "logger.Exit(1)". It exits // even if the logging level is set to Panic. FatalLevel Level = logrus.FatalLevel // PanicLevel level. This is the highest level of severity. Logs and // then calls panic with the message passed to Debug, Info, ... PanicLevel Level = logrus.PanicLevel )
Supported log levels.
type OutputFormat ¶
type OutputFormat string
OutputFormat specifies a log output format.
const ( // TextFormat represents the text logging format. TextFormat OutputFormat = "text" // JSONFormat represents the JSON logging format. JSONFormat OutputFormat = "json" )
Supported log output formats.