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.