diff --git a/README.md b/README.md index 51e3e36d..536e3e41 100644 --- a/README.md +++ b/README.md @@ -617,6 +617,7 @@ with zerolog library is [CSD](https://github.com/toravir/csd/). * [grpc-zerolog](https://github.com/cheapRoc/grpc-zerolog): Implementation of `grpclog.LoggerV2` interface using `zerolog` * [overlog](https://github.com/Trendyol/overlog): Implementation of `Mapped Diagnostic Context` interface using `zerolog` +* [zerologr](https://github.com/hn8/zerologr): Implementation of `logr.LogSink` interface using `zerolog` ## Benchmarks diff --git a/fields.go b/fields.go index cf3c3e91..907b3f04 100644 --- a/fields.go +++ b/fields.go @@ -1,6 +1,7 @@ package zerolog import ( + "encoding/json" "net" "sort" "time" @@ -245,6 +246,8 @@ func appendFields(dst []byte, fields map[string]interface{}) []byte { dst = enc.AppendIPPrefix(dst, val) case net.HardwareAddr: dst = enc.AppendMACAddr(dst, val) + case json.RawMessage: + dst = appendJSON(dst, val) default: dst = enc.AppendInterface(dst, val) }