File tree Expand file tree Collapse file tree 2 files changed +49
-6
lines changed Expand file tree Collapse file tree 2 files changed +49
-6
lines changed Original file line number Diff line number Diff line change @@ -330,6 +330,49 @@ type encoderFieldsConfig struct {
330
330
}
331
331
332
332
func (c * encoderFieldsConfig ) UnmarshalYAML (unmarshal func (any ) error ) error {
333
+ object := make (map [string ]any )
334
+ if err := unmarshal (& object ); err == nil {
335
+ for name , value := range object {
336
+ bytes , err := yaml .Marshal (value )
337
+ if err != nil {
338
+ return err
339
+ }
340
+ switch name {
341
+ case "message" :
342
+ c .Message = & messageEncoderConfig {}
343
+ if err := yaml .Unmarshal (bytes , c .Message ); err != nil {
344
+ return err
345
+ }
346
+ case "name" :
347
+ c .Name = & nameEncoderConfig {}
348
+ if err := yaml .Unmarshal (bytes , c .Name ); err != nil {
349
+ return err
350
+ }
351
+ case "level" :
352
+ c .Level = & levelEncoderConfig {}
353
+ if err := yaml .Unmarshal (bytes , c .Level ); err != nil {
354
+ return err
355
+ }
356
+ case "timestamp" :
357
+ c .Time = & timestampEncoderConfig {}
358
+ if err := yaml .Unmarshal (bytes , c .Time ); err != nil {
359
+ return err
360
+ }
361
+ case "caller" :
362
+ c .Caller = & callerEncoderConfig {}
363
+ if err := yaml .Unmarshal (bytes , c .Caller ); err != nil {
364
+ return err
365
+ }
366
+ case "stacktrace" :
367
+ c .Stacktrace = & stacktraceEncoderConfig {}
368
+ if err := yaml .Unmarshal (bytes , c .Stacktrace ); err != nil {
369
+ return err
370
+ }
371
+ }
372
+ }
373
+ return nil
374
+ }
375
+
333
376
var fields []encoderFieldSchema
334
377
if err := unmarshal (& fields ); err != nil {
335
378
return err
Original file line number Diff line number Diff line change @@ -13,12 +13,12 @@ import (
13
13
const testEncoders = `
14
14
console:
15
15
fields:
16
- - message
17
- - level:
18
- key: the-level
19
- - timestamp:
20
- format: unix
21
- - caller
16
+ message:
17
+ level:
18
+ key: the-level
19
+ timestamp:
20
+ format: unix
21
+ caller:
22
22
json:
23
23
fields:
24
24
- message
You can’t perform that action at this time.
0 commit comments