add missing option #309

Merged
vtolstov merged 1 commits from logger-stacktrace into v3 2024-03-04 23:04:52 +03:00
2 changed files with 18 additions and 9 deletions

View File

@ -6,7 +6,7 @@ import (
"os" "os"
) )
// Option func // Option func signature
type Option func(*Options) type Option func(*Options)
// Options holds logger options // Options holds logger options
@ -15,14 +15,16 @@ type Options struct {
Out io.Writer Out io.Writer
// Context holds exernal options // Context holds exernal options
Context context.Context Context context.Context
// Fields holds additional metadata
Fields []interface{}
// Name holds the logger name // Name holds the logger name
Name string Name string
// The logging level the logger should log // Fields holds additional metadata
Level Level Fields []interface{}
// CallerSkipCount number of frmaes to skip // CallerSkipCount number of frmaes to skip
CallerSkipCount int CallerSkipCount int
// Stacktrace controls writing of stacktaces on error
Stacktrace bool
// The logging level the logger should log
Level Level
} }
// NewOptions creates new options struct // NewOptions creates new options struct
@ -61,6 +63,13 @@ func WithOutput(out io.Writer) Option {
} }
} }
// WithStacktrace controls writing stacktrace on error
func WithStacktrace(v bool) Option {
return func(o *Options) {
o.Stacktrace = v
}
}
// WithCallerSkipCount set frame count to skip // WithCallerSkipCount set frame count to skip
func WithCallerSkipCount(c int) Option { func WithCallerSkipCount(c int) Option {
return func(o *Options) { return func(o *Options) {

View File

@ -18,10 +18,10 @@ import (
var reTrace = regexp.MustCompile(`.*/slog/logger\.go.*\n`) var reTrace = regexp.MustCompile(`.*/slog/logger\.go.*\n`)
var ( var (
DefaultSourceKey string = slog.SourceKey DefaultSourceKey = slog.SourceKey
DefaultTimeKey string = slog.TimeKey DefaultTimeKey = slog.TimeKey
DefaultMessageKey string = slog.MessageKey DefaultMessageKey = slog.MessageKey
DefaultLevelKey string = slog.LevelKey DefaultLevelKey = slog.LevelKey
) )
var ( var (