Documentation ¶
Overview ¶
Package log provides a log interface
Index ¶
- Variables
- func Debug(args ...interface{})
- func Debugf(template string, args ...interface{})
- func Error(args ...interface{})
- func Errorf(template string, args ...interface{})
- func Fatal(args ...interface{})
- func Fatalf(template string, args ...interface{})
- func Info(args ...interface{})
- func Infof(template string, args ...interface{})
- func Init(opts ...Option) error
- func Log(level Level, v ...interface{})
- func Logf(level Level, format string, v ...interface{})
- func NewContext(ctx context.Context, l Logger) context.Context
- func String() string
- func Trace(args ...interface{})
- func Tracef(template string, args ...interface{})
- func V(lvl Level, log Logger) bool
- func Warn(args ...interface{})
- func Warnf(template string, args ...interface{})
- type Helper
- func (h *Helper) Debug(args ...interface{})
- func (h *Helper) Debugf(template string, args ...interface{})
- func (h *Helper) Error(args ...interface{})
- func (h *Helper) Errorf(template string, args ...interface{})
- func (h *Helper) Fatal(args ...interface{})
- func (h *Helper) Fatalf(template string, args ...interface{})
- func (h *Helper) Info(args ...interface{})
- func (h *Helper) Infof(template string, args ...interface{})
- func (h *Helper) Inject(ctx context.Context) context.Context
- func (h *Helper) Log(level Level, args ...interface{})
- func (h *Helper) Logf(level Level, template string, args ...interface{})
- func (h *Helper) Trace(args ...interface{})
- func (h *Helper) Tracef(template string, args ...interface{})
- func (h *Helper) Warn(args ...interface{})
- func (h *Helper) Warnf(template string, args ...interface{})
- func (h *Helper) WithError(err error) *Helper
- func (h *Helper) WithFields(fields map[string]interface{}) *Helper
- type Level
- type Logger
- type Option
- type Options
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // Default logger. DefaultLogger Logger = NewLogger() // Default logger helper. DefaultHelper *Helper = NewHelper(DefaultLogger) )
Functions ¶
Types ¶
type Helper ¶
type Helper struct {
// contains filtered or unexported fields
}
func Extract ¶
Extract always returns valid Helper with logger from context or with DefaultLogger as fallback. Can be used in pair with function Inject. Example: propagate RequestID to logger in service handler methods.
func HelperOrDefault ¶
func (*Helper) WithFields ¶
type Level ¶
type Level int8
const ( // TraceLevel level. Designates finer-grained informational events than the Debug. TraceLevel Level = iota - 2 // DebugLevel level. Usually only enabled when debugging. Very verbose logging. DebugLevel // InfoLevel is the default logging priority. // General operational entries about what's going on inside the application. InfoLevel // WarnLevel level. Non-critical entries that deserve eyes. WarnLevel // ErrorLevel level. Logs. Used for errors that should definitely be noted. ErrorLevel // FatalLevel level. Logs and then calls `logger.Exit(1)`. highest level of severity. FatalLevel )
func GetLevel ¶
GetLevel converts a level string into a logger Level value. returns an error if the input string does not match known values.
type Logger ¶
type Logger interface { // Init initializes options Init(options ...Option) error // The Logger options Options() Options // Fields set fields to always be logged Fields(fields map[string]interface{}) Logger // Log writes a log entry Log(level Level, v ...interface{}) // Logf writes a formatted log entry Logf(level Level, format string, v ...interface{}) // String returns the name of logger String() string }
Logger is a generic logging interface.
func LoggerOrDefault ¶
type Option ¶
type Option func(*Options)
func WithCallerSkipCount ¶
WithCallerSkipCount set frame count to skip.
func WithFields ¶
WithFields set default fields for the logger.
func WithOutput ¶
WithOutput set default output writer for the logger.
type Options ¶
type Options struct { // The logging level the logger should log at. default is `InfoLevel` Level Level // fields to always be logged Fields map[string]interface{} // It's common to set this to a file, or leave it default which is `os.Stderr` Out io.Writer // Caller skip frame count for file:line info CallerSkipCount int // Alternative options Context context.Context }
Click to show internal directories.
Click to hide internal directories.