code: func (l *logger) ChangeRetryStrategyLogTag(retryStrategy *boshretry.RetryStrategy) error {
  	defer func() {
  		if err := recover(); err != nil {
  			l.Warn("cpiLogger", fmt.Sprintf("Recovered from panic when ChangeRetryStrategyLogTag: %s", err))
  		}
  	}()
  
  	//retryStrategy only refer interface RetryStrategy, so add '*' to get private timeoutRetryStrategy
  	pointerVal := reflect.ValueOf(*retryStrategy)
  	val := reflect.Indirect(pointerVal)
  
  	logtag := val.FieldByName("logTag")
  	// Overwrite unexported bosh-utils/retrystrategy/timeoutRetryStrategy.logger to distinguish logs
  	// #nosec G103
  	ptrToLogTag := unsafe.Pointer(logtag.UnsafeAddr())
  	realPtrToLogTag := (*string)(ptrToLogTag)
  	serialTagPrefix := fmt.Sprintf("%s:%s", l.GetSerialTagPrefix(), logtag)
  	*realPtrToLogTag = serialTagPrefix
  
  	return nil
  }
docs: // it's unfriendly to change RetryStrategy().logtag