Documentation ¶
Index ¶
- Constants
- Variables
- func CopyFields(fields map[string]interface{}) []interface{}
- func Debug(args ...interface{})
- func Debugf(template string, args ...interface{})
- func Debugw(msg string, keysAndValues ...interface{})
- func Error(args ...interface{})
- func Errorf(template string, args ...interface{})
- func Errorw(msg string, keysAndValues ...interface{})
- func Fatal(args ...interface{})
- func Fatalf(template string, args ...interface{})
- func Fatalw(msg string, keysAndValues ...interface{})
- func Info(args ...interface{})
- func Infof(template string, args ...interface{})
- func Infow(msg string, keysAndValues ...interface{})
- func NewNonColorable(w zapcore.WriteSyncer) io.Writer
- func SetLevel(lv Level)
- func SpanID(ctx context.Context) string
- func Sync() error
- func TraceID(ctx context.Context) string
- func Warn(args ...interface{})
- func Warnf(template string, args ...interface{})
- func Warnw(msg string, keysAndValues ...interface{})
- type AnyType
- type DailyRotateRule
- type Encoder
- type FileSystem
- type HourRotateRule
- type Level
- type LevelEnablerFunc
- type Logger
- type Logging
- func (l *Logging) Clone() *Logging
- func (l *Logging) Debug(args ...interface{})
- func (l *Logging) Debugf(template string, args ...interface{})
- func (l *Logging) Debugw(msg string, keysAndValues ...interface{})
- func (l *Logging) Error(args ...interface{})
- func (l *Logging) Errorf(template string, args ...interface{})
- func (l *Logging) Errorw(msg string, keysAndValues ...interface{})
- func (l *Logging) Fatal(args ...interface{})
- func (l *Logging) Fatalf(template string, args ...interface{})
- func (l *Logging) Fatalw(msg string, keysAndValues ...interface{})
- func (l *Logging) Info(args ...interface{})
- func (l *Logging) Infof(template string, args ...interface{})
- func (l *Logging) Infow(msg string, keysAndValues ...interface{})
- func (l *Logging) LevelEnablerFunc(level zapcore.Level) LevelEnablerFunc
- func (l *Logging) Options() Options
- func (l *Logging) SetLevel(lv Level)
- func (l *Logging) Sync() (err error)
- func (l *Logging) Warn(args ...interface{})
- func (l *Logging) Warnf(template string, args ...interface{})
- func (l *Logging) Warnw(msg string, keysAndValues ...interface{})
- func (l *Logging) WithCallDepth(callDepth int) Logger
- func (l *Logging) WithContext(ctx context.Context) Logger
- func (l *Logging) WithFields(fields map[string]any) Logger
- type NonColorable
- type Option
- func Fields(fields map[string]any) Option
- func WithCallerSkip(callerSkip int) Option
- func WithCompress(compress bool) Option
- func WithEncoder(encoder Encoder) Option
- func WithEncoderConfig(encoderConfig zapcore.EncoderConfig) Option
- func WithFilename(filename string) Option
- func WithKeepDays(keepDays int) Option
- func WithKeepHours(keepHours int) Option
- func WithLevel(level Level) Option
- func WithMaxBackups(maxBackups int) Option
- func WithMaxSize(maxSize int) Option
- func WithMode(mode string) Option
- func WithNamespace(namespace string) Option
- func WithPath(path string) Option
- func WithRotation(rotation string) Option
- func WithWriter(w io.Writer) Option
- type Options
- type PlaceholderType
- type RotateLogger
- type RotateRule
- type SizeLimitRotateRule
- type StandardFileSystem
- func (fs StandardFileSystem) Close(closer io.Closer) error
- func (fs StandardFileSystem) Copy(writer io.Writer, reader io.Reader) (int64, error)
- func (fs StandardFileSystem) Create(name string) (*os.File, error)
- func (fs StandardFileSystem) Open(name string) (*os.File, error)
- func (fs StandardFileSystem) Remove(name string) error
- type WrappedWriteSyncer
Constants ¶
const ( // DebugLevel level. Usually only enabled when debugging. Very verbose logging. DebugLevel = iota + 1 // 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 )
const ( FileMode = "file" ConsoleMode = "console" )
Variables ¶
var ErrLogFileClosed = errors.New("error: log file closed")
ErrLogFileClosed is an error that indicates the log file is already closed.
var ( // ErrLogPathNotSet is an error that indicates the log path is not set. ErrLogPathNotSet = errors.New("log path must be set") )
Functions ¶
func CopyFields ¶
func CopyFields(fields map[string]interface{}) []interface{}
func NewNonColorable ¶ added in v1.0.6
func NewNonColorable(w zapcore.WriteSyncer) io.Writer
NewNonColorable returns new instance of Writer which removes escape sequence from Writer.
Types ¶
type DailyRotateRule ¶ added in v1.0.6
type DailyRotateRule struct {
// contains filtered or unexported fields
}
A DailyRotateRule is a rule to daily rotate the log files.
func (*DailyRotateRule) BackupFileName ¶ added in v1.0.6
func (r *DailyRotateRule) BackupFileName() string
BackupFileName returns the backup filename on rotating.
func (*DailyRotateRule) MarkRotated ¶ added in v1.0.6
func (r *DailyRotateRule) MarkRotated()
MarkRotated marks the rotated time of r to be the current time.
func (*DailyRotateRule) OutdatedFiles ¶ added in v1.0.6
func (r *DailyRotateRule) OutdatedFiles() []string
OutdatedFiles returns the files that exceeded the keeping days.
func (*DailyRotateRule) ShallRotate ¶ added in v1.0.6
func (r *DailyRotateRule) ShallRotate(_ int64) bool
ShallRotate checks if the file should be rotated.
type FileSystem ¶ added in v1.0.6
type HourRotateRule ¶ added in v1.0.6
type HourRotateRule struct {
// contains filtered or unexported fields
}
HourRotateRule a rotation rule that make the log file rotated base on hour
func NewHourRotateRule ¶ added in v1.0.6
func NewHourRotateRule(filename, delimiter string, hours int, gzip bool) *HourRotateRule
NewHourRotateRule new a hour rotate rule
func (*HourRotateRule) BackupFileName ¶ added in v1.0.6
func (r *HourRotateRule) BackupFileName() string
BackupFileName returns the backup filename on rotating.
func (*HourRotateRule) MarkRotated ¶ added in v1.0.6
func (r *HourRotateRule) MarkRotated()
MarkRotated marks the rotated time of r to be the current time.
func (*HourRotateRule) OutdatedFiles ¶ added in v1.0.6
func (r *HourRotateRule) OutdatedFiles() []string
OutdatedFiles returns the files that exceeded the keeping hours.
func (*HourRotateRule) ShallRotate ¶ added in v1.0.6
func (r *HourRotateRule) ShallRotate(_ int64) bool
ShallRotate checks if the file should be rotated.
type Level ¶
type Level int8
func ParseLevel ¶ added in v1.0.3
ParseLevel parses a level string into a logger Level value.
type LevelEnablerFunc ¶ added in v1.0.3
LevelEnablerFunc is a convenient way to implement zapcore.LevelEnabler with an anonymous function.
It's particularly useful when splitting log output between different outputs (e.g., standard error and standard out). For sample code, see the package-level AdvancedConfiguration example.
type Logger ¶
type Logger interface { // SetLevel set logger level SetLevel(lv Level) // WithContext with context WithContext(ctx context.Context) Logger // WithFields set fields to always be logged WithFields(fields map[string]any) Logger // WithCallDepth with logger call depth. WithCallDepth(callDepth int) Logger // Debug uses fmt.Sprint to construct and log a message. Debug(args ...interface{}) // Info uses fmt.Sprint to construct and log a message. Info(args ...interface{}) // Warn uses fmt.Sprint to construct and log a message. Warn(args ...interface{}) // Error uses fmt.Sprint to construct and log a message. Error(args ...interface{}) // Fatal uses fmt.Sprint to construct and log a message, then calls os.Exit. Fatal(args ...interface{}) // Debugf uses fmt.Sprintf to log a templated message. Debugf(template string, args ...interface{}) // Infof uses fmt.Sprintf to log a templated message. Infof(template string, args ...interface{}) // Warnf uses fmt.Sprintf to log a templated message. Warnf(template string, args ...interface{}) // Errorf uses fmt.Sprintf to log a templated message. Errorf(template string, args ...interface{}) // Fatalf uses fmt.Sprintf to log a templated message, then calls os.Exit. Fatalf(template string, args ...interface{}) // Debugw logs a message with some additional context. The variadic key-value // pairs are treated as they are in With. // // When debug-level logging is disabled, this is much faster than // s.With(keysAndValues).Debug(msg) Debugw(msg string, keysAndValues ...interface{}) // Infow logs a message with some additional context. The variadic key-value // pairs are treated as they are in With. Infow(msg string, keysAndValues ...interface{}) // Warnw logs a message with some additional context. The variadic key-value // pairs are treated as they are in With. Warnw(msg string, keysAndValues ...interface{}) // Errorw logs a message with some additional context. The variadic key-value // pairs are treated as they are in With. Errorw(msg string, keysAndValues ...interface{}) // Fatalw logs a message with some additional context, then calls os.Exit. The // variadic key-value pairs are treated as they are in With. Fatalw(msg string, keysAndValues ...interface{}) // Sync logger sync Sync() error }
Logger is the interface for Logger types
func WithCallDepth ¶
WithCallDepth returns a shallow copy of l with its caller skip
func WithContext ¶
WithContext returns a shallow copy of l with its context changed to ctx. The provided ctx must be non-nil.
func WithFields ¶
WithFields is a helper to create a []interface{} of key-value pairs.
type Logging ¶
type Logging struct {
// contains filtered or unexported fields
}
func (*Logging) LevelEnablerFunc ¶ added in v1.0.3
func (l *Logging) LevelEnablerFunc(level zapcore.Level) LevelEnablerFunc
func (*Logging) WithCallDepth ¶
type NonColorable ¶ added in v1.0.6
type NonColorable struct {
// contains filtered or unexported fields
}
NonColorable holds writer but removes escape sequence.
func (*NonColorable) Sync ¶ added in v1.0.6
func (w *NonColorable) Sync() error
Sync flushes the buffer.
type Option ¶
type Option func(o *Options)
func WithCallerSkip ¶
WithCallerSkip Setter function to set the caller skip value.
func WithCompress ¶
WithCompress Setter function to set the compress option.
func WithEncoder ¶
WithEncoder Setter function to set the encoder.
func WithEncoderConfig ¶
func WithEncoderConfig(encoderConfig zapcore.EncoderConfig) Option
WithEncoderConfig Setter function to set the encoder config.
func WithFilename ¶
WithFilename Setter function to set the log filename.
func WithKeepDays ¶ added in v1.0.6
func WithKeepHours ¶ added in v1.0.6
func WithMaxBackups ¶
WithMaxBackups Setter function to set the maximum number of log backups.
func WithMaxSize ¶
WithMaxSize Setter function to set the maximum log size.
func WithNamespace ¶
WithNamespace Setter function to set the namespace.
func WithRotation ¶ added in v1.0.6
func WithWriter ¶
type PlaceholderType ¶ added in v1.0.6
type PlaceholderType = struct{}
PlaceholderType represents a placeholder type.
var Placeholder PlaceholderType
Placeholder is a placeholder object that can be used globally.
type RotateLogger ¶ added in v1.0.6
type RotateLogger struct {
// contains filtered or unexported fields
}
A RotateLogger is a Logger that can rotate log files with given rules.
func NewRotateLogger ¶ added in v1.0.6
func NewRotateLogger(filename string, rule RotateRule, compress bool) (*RotateLogger, error)
NewRotateLogger returns a RotateLogger with given filename and rule, etc.
func (*RotateLogger) Close ¶ added in v1.0.6
func (l *RotateLogger) Close() (err error)
Close closes l.
func (*RotateLogger) Sync ¶ added in v1.0.6
func (l *RotateLogger) Sync() error
type RotateRule ¶ added in v1.0.6
type RotateRule interface { BackupFileName() string MarkRotated() OutdatedFiles() []string ShallRotate(size int64) bool }
A RotateRule interface is used to define the log rotating rules.
func DefaultRotateRule ¶ added in v1.0.6
func DefaultRotateRule(filename, delimiter string, days int, gzip bool) RotateRule
DefaultRotateRule is a default log rotating rule, currently DailyRotateRule.
func NewSizeLimitRotateRule ¶ added in v1.0.6
func NewSizeLimitRotateRule(filename, delimiter string, days, maxSize, maxBackups int, gzip bool) RotateRule
NewSizeLimitRotateRule returns the rotation rule with size limit
type SizeLimitRotateRule ¶ added in v1.0.6
type SizeLimitRotateRule struct { DailyRotateRule // contains filtered or unexported fields }
SizeLimitRotateRule a rotation rule that make the log file rotated base on size
func (*SizeLimitRotateRule) BackupFileName ¶ added in v1.0.6
func (r *SizeLimitRotateRule) BackupFileName() string
func (*SizeLimitRotateRule) MarkRotated ¶ added in v1.0.6
func (r *SizeLimitRotateRule) MarkRotated()
func (*SizeLimitRotateRule) OutdatedFiles ¶ added in v1.0.6
func (r *SizeLimitRotateRule) OutdatedFiles() []string
func (*SizeLimitRotateRule) ShallRotate ¶ added in v1.0.6
func (r *SizeLimitRotateRule) ShallRotate(size int64) bool
type StandardFileSystem ¶ added in v1.0.6
type StandardFileSystem struct{}
func (StandardFileSystem) Close ¶ added in v1.0.6
func (fs StandardFileSystem) Close(closer io.Closer) error
func (StandardFileSystem) Create ¶ added in v1.0.6
func (fs StandardFileSystem) Create(name string) (*os.File, error)
func (StandardFileSystem) Open ¶ added in v1.0.6
func (fs StandardFileSystem) Open(name string) (*os.File, error)
func (StandardFileSystem) Remove ¶ added in v1.0.6
func (fs StandardFileSystem) Remove(name string) error
type WrappedWriteSyncer ¶
type WrappedWriteSyncer struct {
// contains filtered or unexported fields
}
WrappedWriteSyncer is a helper struct implementing zapcore.WriteSyncer to wrap a standard os.Stdout handle, giving control over the WriteSyncer's Sync() function. Sync() results in an error on Windows in combination with os.Stdout ("sync /dev/stdout: The handle is invalid."). WrappedWriteSyncer simply does nothing when Sync() is called by Zap.
func (WrappedWriteSyncer) Sync ¶
func (mws WrappedWriteSyncer) Sync() error