code: func Extract(ctx context.Context) *logrus.Entry {
  	l, ok := ctx.Value(ctxLoggerKey).(*ctxLogger)
  	if !ok || l == nil {
  		return logrus.NewEntry(nullLogger)
  	}
  
  	fields := logrus.Fields{}
  
  	// Add grpc_ctxtags tags metadata until now.
  	tags := grpc_ctxtags.Extract(ctx)
  	for k, v := range tags.Values() {
  		fields[k] = v
  	}
  
  	// Add logrus fields added until now.
  	for k, v := range l.fields {
  		fields[k] = v
  	}
  
  	return l.logger.WithFields(fields)
  }
docs: // Extract takes the call-scoped logrus.Entry from ctx_logrus middleware.
  //
  // If the ctx_logrus middleware wasn't used, a no-op `logrus.Entry` is returned. This makes it safe to
  // use regardless.