code: func NewLogOptions(apiOpts *v1.PodLogOptions, now time.Time) *LogOptions {
  	opts := &LogOptions{
  		tail:      -1, // -1 by default which means read all logs.
  		bytes:     -1, // -1 by default which means read all logs.
  		follow:    apiOpts.Follow,
  		timestamp: apiOpts.Timestamps,
  	}
  	if apiOpts.TailLines != nil {
  		opts.tail = *apiOpts.TailLines
  	}
  	if apiOpts.LimitBytes != nil {
  		opts.bytes = *apiOpts.LimitBytes
  	}
  	if apiOpts.SinceSeconds != nil {
  		opts.since = now.Add(-time.Duration(*apiOpts.SinceSeconds) * time.Second)
  	}
  	if apiOpts.SinceTime != nil && apiOpts.SinceTime.After(opts.since) {
  		opts.since = apiOpts.SinceTime.Time
  	}
  	return opts
  }
docs: // NewLogOptions convert the v1.PodLogOptions to CRI internal LogOptions.