Documentation ¶
Index ¶
- Constants
- func DiscardHandler() slog.Handler
- func FormatLogfmtUint64(n uint64) string
- func FormatSlogValue(v slog.Value, tmp []byte) (result []byte)
- func FromLegacyLevel(lvl int) slog.Level
- func JSONHandler(wr io.Writer) slog.Handler
- func JSONHandlerWithLevel(wr io.Writer, level slog.Leveler) 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.Leveler) slog.Handler
- func LvlFromString(lvlString string) (slog.Level, error)
- 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 (t *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 FormatLogfmtUint64 ¶
FormatLogfmtUint64 formats n with thousand separators.
func FormatSlogValue ¶
FormatSlogValue formats a slog.Value for serialization to terminal.
func FromLegacyLevel ¶
convert from old Geth verbosity level constants to levels defined by slog
func JSONHandler ¶
JSONHandler returns a handler which prints records in JSON format.
func JSONHandlerWithLevel ¶
func LevelAlignedString ¶
LevelAlignedString returns a 5-character string containing the name of a Lvl.
func LevelString ¶
LevelString returns a string containing the name of a Lvl.
func LogfmtHandler ¶
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 ¶
LogfmtHandlerWithLevel returns the same handler as LogfmtHandler but it only outputs records which are less than or equal to the specified verbosity level.
Types ¶
type Logger ¶
type Logger interface { // With returns a new Logger that has this logger's attributes plus the given attributes With(ctx ...interface{}) Logger // With 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 }
A Logger writes key/value pairs to a Handler
type TerminalHandler ¶
type TerminalHandler struct { // Prefix returns a string that is output before each log message. Prefix func(r slog.Record) string // contains filtered or unexported fields }
func NewTerminalHandler ¶
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 ¶
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 ¶
func (t *TerminalHandler) ResetFieldPadding()
ResetFieldPadding zeroes the field-padding for all attribute pairs.
type TerminalStringer ¶
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.