@@ -111,13 +111,16 @@ type Config struct {
111
111
// New returns a new leveled oklog logger. Each logged line will be annotated
112
112
// with a timestamp. The output always goes to stderr.
113
113
func New (config * Config ) log.Logger {
114
- var l log.Logger
115
114
if config .Format != nil && config .Format .s == "json" {
116
- l = log .NewJSONLogger (log .NewSyncWriter (os .Stderr ))
117
- } else {
118
- l = log .NewLogfmtLogger (log .NewSyncWriter (os .Stderr ))
115
+ return NewWithLogger (log .NewJSONLogger (log .NewSyncWriter (os .Stderr )), config )
119
116
}
120
117
118
+ return NewWithLogger (log .NewLogfmtLogger (log .NewSyncWriter (os .Stderr )), config )
119
+ }
120
+
121
+ // NewWithLogger returns a new leveled oklog logger with a custom log.Logger.
122
+ // Each logged line will be annotated with a timestamp.
123
+ func NewWithLogger (l log.Logger , config * Config ) log.Logger {
121
124
if config .Level != nil {
122
125
l = log .With (l , "ts" , timestampFormat , "caller" , log .Caller (5 ))
123
126
l = level .NewFilter (l , config .Level .o )
@@ -131,13 +134,17 @@ func New(config *Config) log.Logger {
131
134
// with a timestamp. The output always goes to stderr. Some properties can be
132
135
// changed, like the level.
133
136
func NewDynamic (config * Config ) * logger {
134
- var l log.Logger
135
137
if config .Format != nil && config .Format .s == "json" {
136
- l = log .NewJSONLogger (log .NewSyncWriter (os .Stderr ))
137
- } else {
138
- l = log .NewLogfmtLogger (log .NewSyncWriter (os .Stderr ))
138
+ return NewDynamicWithLogger (log .NewJSONLogger (log .NewSyncWriter (os .Stderr )), config )
139
139
}
140
140
141
+ return NewDynamicWithLogger (log .NewLogfmtLogger (log .NewSyncWriter (os .Stderr )), config )
142
+ }
143
+
144
+ // NewDynamicWithLogger returns a new leveled logger with a custom io.Writer.
145
+ // Each logged line will be annotated with a timestamp.
146
+ // Some properties can be changed, like the level.
147
+ func NewDynamicWithLogger (l log.Logger , config * Config ) * logger {
141
148
lo := & logger {
142
149
base : l ,
143
150
leveled : l ,
0 commit comments