Documentation ¶
Overview ¶
Package log provides a logger interface so that logging in gooseberry is pluggable; gooseberry provides a wrapper for https://go.uber.org/zap that implements said interface. See package log/zap.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LeveledLogger ¶
type LeveledLogger interface { // IsDebugEnabled checks whether or not debug logging is enabled. // Useful to check before logging a message that requires preprocessing. IsDebugEnabled() bool // Debug logs a debug message. // It accepts varargs of alternating key and value parameters. Debug(message string, args ...interface{}) // Info logs a informational message. // It accepts varargs of alternating key and value parameters. Info(message string, args ...interface{}) // Warn logs a warning message. // It accepts varargs of alternating key and value parameters. Warn(message string, args ...interface{}) // Error logs an error message. // It accepts varargs of alternating key and value parameters. Error(message string, args ...interface{}) // Sync flushes the logger. Sync() error }
LeveledLogger provides a logging interface that supports structured logging. For example:
logger.Info("Found an answer.", "answer", 42) logger.Debug("message", "key", value, "another key", anotherValue)
Example (WithPrefix) ¶
logger := NewPrefixedLeveledLogger(&testutil.Logger{InDebugMode: true}, "prefix:") fmt.Println("IsDebugEnabled:", logger.IsDebugEnabled()) logger.Debug("message", "answer", 42) logger.Info("message", "answer", 42) logger.Warn("message", "answer", 42) logger.Error("message", "answer", 42)
Output: IsDebugEnabled: true [Debug] prefix:message: [answer 42] [Info] prefix:message: [answer 42] [Warn] prefix:message: [answer 42] [Error] prefix:message: [answer 42]
func NewPrefixedLeveledLogger ¶
func NewPrefixedLeveledLogger(logger LeveledLogger, prefix string) LeveledLogger
NewPrefixedLeveledLogger prepends a prefix to log messages logged by the specified logger.
type NoOpLogger ¶
type NoOpLogger struct{}
NoOpLogger provides a NOOP logger (the default logging behavior).
Example ¶
logger := &NoOpLogger{} fmt.Println("IsDebugEnabled:", logger.IsDebugEnabled()) logger.Debug("Debug", "answer", 42) logger.Info("Info", "answer", 42) logger.Warn("Warn", "answer", 42) logger.Error("Error", "answer", 42)
Output: IsDebugEnabled: false
func (*NoOpLogger) IsDebugEnabled ¶
func (*NoOpLogger) IsDebugEnabled() bool
IsDebugEnabled returns false.
Directories ¶
Path | Synopsis |
---|---|
Package zap provides a wrapper for https://go.uber.org/zap that implements the log.LeveledLogger interface and adds convenience features to logging with zap.
|
Package zap provides a wrapper for https://go.uber.org/zap that implements the log.LeveledLogger interface and adds convenience features to logging with zap. |
Click to show internal directories.
Click to hide internal directories.