Documentation ¶
Index ¶
- Constants
- func AppOut(ctx *cli.Context) io.Writer
- func CLIFlags(envPrefix string) []cli.Flag
- func NewLogHandler(wr io.Writer, cfg CLIConfig) log.Handler
- func NewLogger(wr io.Writer, cfg CLIConfig) log.Logger
- func NewLoggingMiddleware(lgr log.Logger, next http.Handler) http.Handler
- func SetGlobalLogHandler(h log.Handler)
- func SetupDefaults()
- type CLIConfig
- type DynamicLogHandler
- type FormatFlagValue
- type FormatType
- type LvlFlagValue
- type LvlSetter
- type Writer
Constants ¶
const ( LevelFlagName = "log.level" FormatFlagName = "log.format" ColorFlagName = "log.color" )
Variables ¶
This section is empty.
Functions ¶
func AppOut ¶
AppOut returns an io.Writer to write app output to, like logs. This falls back to os.Stdout if the ctx, ctx.App or ctx.App.Writer are nil.
func CLIFlags ¶
func CLIFlags(envPrefix string) []cli.Flag
CLIFlags creates flag definitions for the logging utils. Warning: flags are not safe to reuse due to an upstream urfave default-value mutation bug in GenericFlag. Use cliapp.ProtectFlags(flags) to create a copy before passing it into an App if the app runs more than once.
func NewLogHandler ¶
NewLogHandler creates a new configured handler, compatible as LvlSetter for log-level changes during runtime.
func NewLogger ¶
NewLogger creates a new configured logger. The log handler of the logger is a LvlSetter, i.e. the log level can be changed as needed.
func NewLoggingMiddleware ¶
func SetGlobalLogHandler ¶
SetGlobalLogHandler sets the log handles as the handler of the global default logger. The usage of this logger is strongly discouraged, as it does makes it difficult to distinguish different services in the same process, e.g. during tests. Geth and other components may use the global logger however, and it is thus recommended to set the global log handler to catch these logs.
func SetupDefaults ¶
func SetupDefaults()
Types ¶
type CLIConfig ¶
type CLIConfig struct { Level log.Lvl Color bool Format FormatType }
func DefaultCLIConfig ¶
func DefaultCLIConfig() CLIConfig
DefaultCLIConfig creates a default log configuration. Color defaults to true if terminal is detected.
func ReadCLIConfig ¶
func ReadCLIConfig(ctx *cli.Context) CLIConfig
type DynamicLogHandler ¶
type DynamicLogHandler struct { log.Handler // embedded, to expose any extra methods the underlying handler might provide // contains filtered or unexported fields }
DynamicLogHandler allow runtime-configuration of the log handler.
func NewDynamicLogHandler ¶
func NewDynamicLogHandler(lvl log.Lvl, h log.Handler) *DynamicLogHandler
func (*DynamicLogHandler) SetLogLevel ¶
func (d *DynamicLogHandler) SetLogLevel(lvl log.Lvl)
type FormatFlagValue ¶
type FormatFlagValue FormatType
FormatFlagValue is a value type for cli.GenericFlag to parse and validate log-formatting-type values
func NewFormatFlagValue ¶
func NewFormatFlagValue(fmtType FormatType) *FormatFlagValue
func (*FormatFlagValue) Clone ¶
func (fv *FormatFlagValue) Clone() any
func (FormatFlagValue) FormatType ¶
func (fv FormatFlagValue) FormatType() FormatType
func (*FormatFlagValue) Set ¶
func (fv *FormatFlagValue) Set(value string) error
func (FormatFlagValue) String ¶
func (fv FormatFlagValue) String() string
type FormatType ¶
type FormatType string
FormatType defines a type of log format. Supported formats: 'text', 'terminal', 'logfmt', 'json', 'json-pretty'
const ( FormatText FormatType = "text" FormatTerminal FormatType = "terminal" FormatLogFmt FormatType = "logfmt" FormatJSON FormatType = "json" FormatJSONPretty FormatType = "json-pretty" )
func (FormatType) Formatter ¶
func (ft FormatType) Formatter(color bool) log.Format
Formatter turns a format type and color into a structured Format object
func (FormatType) String ¶
func (ft FormatType) String() string
type LvlFlagValue ¶
LvlFlagValue is a value type for cli.GenericFlag to parse and validate log-level values. Log level: trace, debug, info, warn, error, crit. Capitals are accepted too.
func NewLvlFlagValue ¶
func NewLvlFlagValue(lvl log.Lvl) *LvlFlagValue
func (*LvlFlagValue) Clone ¶
func (fv *LvlFlagValue) Clone() any
func (LvlFlagValue) LogLvl ¶
func (fv LvlFlagValue) LogLvl() log.Lvl
func (*LvlFlagValue) Set ¶
func (fv *LvlFlagValue) Set(value string) error
func (LvlFlagValue) String ¶
func (fv LvlFlagValue) String() string