this repo contains a couple possible integrations with go.uber.org/zap
The log package allows you to call the same funcs as with zap, but those will now also log on opentracing if you give a context or span as parameter.
Import the package and use it as your log package:
import 	"github.com/opentracing-contrib/go-zap/log"
Example with Debug level (similar funcs exist for the other levels). Log on zap only:
func Debug(log string, fields ...zapcore.Field)
Log on Zap and on Opentracing. The span is given directly or is retrieved from the context:
func DebugWithSpan(span opentracing.Span, log string, fields ...zapcore.Field)
func DebugWithContext(ctx context.Context, log string, fields ...zapcore.Field)
The utils package provides a function to translate a zap field into a standard opentracing field. Those two are almost similar (in implementation and concept)