code: func maybeSetupGoogleCloudLogging() io.Closer {
  	if flagGCEProjectID == "" && flagGCELogName == "" && flagGCEJWTFile == "" {
  		return types.NopCloser
  	}
  	if flagGCEProjectID == "" || flagGCELogName == "" || flagGCEJWTFile == "" {
  		exitf("All of --gce_project_id, --gce_log_name, and --gce_jwt_file must be specified for logging on Google Cloud Logging.")
  	}
  	ctx := context.Background()
  	logc, err := logging.NewClient(ctx,
  		flagGCEProjectID, option.WithServiceAccountFile(flagGCEJWTFile))
  	if err != nil {
  		exitf("Error creating GCL client: %v", err)
  	}
  	if err := logc.Ping(ctx); err != nil {
  		exitf("Google logging client not ready (ping failed): %v", err)
  	}
  	logw := gclWriter{
  		severity: logging.Debug,
  		logger:   logc.Logger(flagGCELogName),
  	}
  	log.SetOutput(io.MultiWriter(os.Stderr, logw))
  	return logc
  }
docs: // if a non-nil logging Client is returned, it should be closed before the
  // program terminates to flush any buffered log entries.