Skip to content

Commit

Permalink
Add nested object test
Browse files Browse the repository at this point in the history
  • Loading branch information
prashantv committed Mar 2, 2021
1 parent c6dbd12 commit fff4bfa
Showing 1 changed file with 23 additions and 7 deletions.
30 changes: 23 additions & 7 deletions example_test.go
Expand Up @@ -165,27 +165,43 @@ func ExampleNamespace() {
// {"level":"info","msg":"tracked some metrics","metrics":{"counter":1}}
}

type addr struct {
IP string
Port int
}

type request struct {
URL string
IP string
URL string
Listen addr
Remote addr
}

func (a addr) MarshalLogObject(enc zapcore.ObjectEncoder) error {
enc.AddString("ip", a.IP)
enc.AddInt("port", a.Port)
return nil
}

func (r request) MarshalLogObject(enc zapcore.ObjectEncoder) error {
enc.AddString("url", r.URL)
enc.AddString("ip", r.IP)
return nil
zap.InlineObject(r.Listen).AddTo(enc)
return enc.AddObject("remote", r.Remote)
}

func ExampleObject() {
logger := zap.NewExample()
defer logger.Sync()

req := &request{"/test", "127.0.0.1"}
req := &request{
URL: "/test",
Listen: addr{"127.0.0.1", 8080},
Remote: addr{"127.0.0.1", 31200},
}
logger.Info("new request, in nested object", zap.Object("req", req))
logger.Info("new request, inline", zap.InlineObject(req))
// Output:
// {"level":"info","msg":"new request, in nested object","req":{"url":"/test","ip":"127.0.0.1"}}
// {"level":"info","msg":"new request, inline","url":"/test","ip":"127.0.0.1"}
// {"level":"info","msg":"new request, in nested object","req":{"url":"/test","ip":"127.0.0.1","port":8080,"remote":{"ip":"127.0.0.1","port":31200}}}
// {"level":"info","msg":"new request, inline","url":"/test","ip":"127.0.0.1","port":8080,"remote":{"ip":"127.0.0.1","port":31200}}
}

func ExampleNewStdLog() {
Expand Down

0 comments on commit fff4bfa

Please sign in to comment.