Documentation
¶
Index ¶
- Constants
- func Crit(msg string, ctx ...interface{})
- func Debug(msg string, ctx ...interface{})
- func DiscardHandler() slog.Handler
- func Error(msg string, ctx ...interface{})
- func FormatLogfmtUint64(n uint64) string
- func FormatSlogValue(v slog.Value, tmp []byte) (result []byte)
- func FromLegacyLevel(lvl int) slog.Level
- func Info(msg string, ctx ...interface{})
- func JSONHandler(wr io.Writer) slog.Handler
- func JSONHandlerWithLevel(wr io.Writer, level slog.Level) slog.Handler
- func LevelAlignedString(l slog.Level) string
- func LevelString(l slog.Level) string
- func LogfmtHandler(wr io.Writer) slog.Handler
- func LogfmtHandlerWithLevel(wr io.Writer, level slog.Level) slog.Handler
- func SetDefault(l Logger)
- func Trace(msg string, ctx ...interface{})
- func Warn(msg string, ctx ...interface{})
- type GlogHandler
- func (h *GlogHandler) Enabled(ctx context.Context, lvl slog.Level) bool
- func (h *GlogHandler) Handle(ctx context.Context, r slog.Record) error
- func (h *GlogHandler) Verbosity(level slog.Level)
- func (h *GlogHandler) Vmodule(ruleset string) error
- func (h *GlogHandler) WithAttrs(attrs []slog.Attr) slog.Handler
- func (h *GlogHandler) WithGroup(name string) slog.Handler
- type Logger
- type TerminalHandler
- func (h *TerminalHandler) Enabled(_ context.Context, level slog.Level) bool
- func (h *TerminalHandler) Handle(_ context.Context, r slog.Record) error
- func (h *TerminalHandler) ResetFieldPadding()
- func (h *TerminalHandler) WithAttrs(attrs []slog.Attr) slog.Handler
- func (h *TerminalHandler) WithGroup(name string) slog.Handler
- type TerminalStringer
Constants ¶
const ( LevelTrace slog.Level = -8 LevelDebug = slog.LevelDebug LevelInfo = slog.LevelInfo LevelWarn = slog.LevelWarn LevelError = slog.LevelError LevelCrit slog.Level = 12 // for backward-compatibility LvlTrace = LevelTrace LvlInfo = LevelInfo LvlDebug = LevelDebug )
Variables ¶
This section is empty.
Functions ¶
func Crit ¶
func Crit(msg string, ctx ...interface{})
Crit is a convenient alias for Root().Crit
Log a message at the crit level with context key/value pairs, and then exit.
Usage Examples ¶
log.Crit("msg")
log.Crit("msg", "key1", val1)
log.Crit("msg", "key1", val1, "key2", val2)
func Debug ¶
func Debug(msg string, ctx ...interface{})
Debug is a convenient alias for Root().Debug
Log a message at the debug level with context key/value pairs
Usage Examples ¶
log.Debug("msg")
log.Debug("msg", "key1", val1)
log.Debug("msg", "key1", val1, "key2", val2)
func DiscardHandler ¶ added in v1.6.0
DiscardHandler returns a no-op handler
func Error ¶
func Error(msg string, ctx ...interface{})
Error is a convenient alias for Root().Error
Log a message at the error level with context key/value pairs
Usage Examples ¶
log.Error("msg")
log.Error("msg", "key1", val1)
log.Error("msg", "key1", val1, "key2", val2)
func FormatLogfmtUint64 ¶ added in v1.10.3
FormatLogfmtUint64 formats n with thousand separators.
func FormatSlogValue ¶ added in v1.13.6
FormatSlogValue formats a slog.Value for serialization to terminal.
func FromLegacyLevel ¶ added in v1.13.6
FromLegacyLevel converts from old Geth verbosity level constants to levels defined by slog
func Info ¶
func Info(msg string, ctx ...interface{})
Info is a convenient alias for Root().Info
Log a message at the info level with context key/value pairs
Usage Examples ¶
log.Info("msg")
log.Info("msg", "key1", val1)
log.Info("msg", "key1", val1, "key2", val2)
func JSONHandler ¶ added in v1.13.6
JSONHandler returns a handler which prints records in JSON format.
func JSONHandlerWithLevel ¶ added in v1.14.0
JSONHandlerWithLevel returns a handler which prints records in JSON format that are less than or equal to the specified verbosity level.
func LevelAlignedString ¶ added in v1.13.6
LevelAlignedString returns a 5-character string containing the name of a Lvl.
func LevelString ¶ added in v1.13.6
LevelString returns a string containing the name of a Lvl.
func LogfmtHandler ¶ added in v1.13.6
LogfmtHandler returns a handler which prints records in logfmt format, an easy machine-parseable but human-readable format for key/value pairs.
For more details see: http://godoc.org/github.com/kr/logfmt
func LogfmtHandlerWithLevel ¶ added in v1.13.6
LogfmtHandlerWithLevel returns the same handler as LogfmtHandler but it only outputs records which are less than or equal to the specified verbosity level.
func SetDefault ¶ added in v1.13.6
func SetDefault(l Logger)
SetDefault sets the default global logger
Types ¶
type GlogHandler ¶ added in v1.6.0
type GlogHandler struct {
// contains filtered or unexported fields
}
GlogHandler is a log handler that mimics the filtering features of Google's glog logger: setting global log levels; overriding with callsite pattern matches; and requesting backtraces at certain positions.
func NewGlogHandler ¶ added in v1.6.0
func NewGlogHandler(origin slog.Handler) *GlogHandler
NewGlogHandler creates a new log handler with filtering functionality similar to Google's glog logger. The returned handler implements Handler.
func (*GlogHandler) Enabled ¶ added in v1.13.6
Enabled implements slog.Handler, reporting whether the handler handles records at the given level.
func (*GlogHandler) Handle ¶ added in v1.13.6
Handle implements slog.Handler, filtering a log record through the global, local and backtrace filters, finally emitting it if either allow it through.
func (*GlogHandler) Verbosity ¶ added in v1.6.0
func (h *GlogHandler) Verbosity(level slog.Level)
Verbosity sets the glog verbosity ceiling. The verbosity of individual packages and source files can be raised using Vmodule.
func (*GlogHandler) Vmodule ¶ added in v1.6.0
func (h *GlogHandler) Vmodule(ruleset string) error
Vmodule sets the glog verbosity pattern.
The syntax of the argument is a comma-separated list of pattern=N, where the pattern is a literal file name or "glob" pattern matching and N is a V level.
For instance:
pattern="gopher.go=3" sets the V level to 3 in all Go files named "gopher.go" pattern="foo=3" sets V to 3 in all files of any packages whose import path ends in "foo" pattern="foo/*=3" sets V to 3 in all files of any packages whose import path contains "foo"
func (*GlogHandler) WithAttrs ¶ added in v1.13.6
func (h *GlogHandler) WithAttrs(attrs []slog.Attr) slog.Handler
WithAttrs implements slog.Handler, returning a new Handler whose attributes consist of both the receiver's attributes and the arguments.
Note the handler created here will still listen to Verbosity and Vmodule settings done on the original handler.
type Logger ¶ added in v1.6.0
type Logger interface {
// With returns a new Logger that has this logger's attributes plus the given attributes
With(ctx ...interface{}) Logger
// New returns a new Logger that has this logger's attributes plus the given attributes. Identical to 'With'.
New(ctx ...interface{}) Logger
// Log logs a message at the specified level with context key/value pairs
Log(level slog.Level, msg string, ctx ...interface{})
// Trace log a message at the trace level with context key/value pairs
Trace(msg string, ctx ...interface{})
// Debug logs a message at the debug level with context key/value pairs
Debug(msg string, ctx ...interface{})
// Info logs a message at the info level with context key/value pairs
Info(msg string, ctx ...interface{})
// Warn logs a message at the warn level with context key/value pairs
Warn(msg string, ctx ...interface{})
// Error logs a message at the error level with context key/value pairs
Error(msg string, ctx ...interface{})
// Crit logs a message at the crit level with context key/value pairs, and exits
Crit(msg string, ctx ...interface{})
// Write logs a message at the specified level
Write(level slog.Level, msg string, attrs ...any)
// Enabled reports whether l emits log records at the given context and level.
Enabled(ctx context.Context, level slog.Level) bool
// Handler returns the underlying handler of the inner logger.
Handler() slog.Handler
}
A Logger writes key/value pairs to a Handler
func New ¶ added in v1.6.0
func New(ctx ...interface{}) Logger
New returns a new logger with the given context. New is a convenient alias for Root().New
type TerminalHandler ¶ added in v1.13.6
type TerminalHandler struct {
// contains filtered or unexported fields
}
func NewTerminalHandler ¶ added in v1.13.6
func NewTerminalHandler(wr io.Writer, useColor bool) *TerminalHandler
NewTerminalHandler returns a handler which formats log records at all levels optimized for human readability on a terminal with color-coded level output and terser human friendly timestamp. This format should only be used for interactive programs or while developing.
[LEVEL] [TIME] MESSAGE key=value key=value ...
Example:
[DBUG] [May 16 20:58:45] remove route ns=haproxy addr=127.0.0.1:50002
func NewTerminalHandlerWithLevel ¶ added in v1.13.6
NewTerminalHandlerWithLevel returns the same handler as NewTerminalHandler but only outputs records which are less than or equal to the specified verbosity level.
func (*TerminalHandler) ResetFieldPadding ¶ added in v1.13.6
func (h *TerminalHandler) ResetFieldPadding()
ResetFieldPadding zeroes the field-padding for all attribute pairs.
type TerminalStringer ¶ added in v1.6.0
type TerminalStringer interface {
TerminalString() string
}
TerminalStringer is an analogous interface to the stdlib stringer, allowing own types to have custom shortened serialization formats when printed to the screen.