code: func (ds *dockerService) createContainerLogSymlink(containerID string) error {
  	path, realPath, err := ds.getContainerLogPath(containerID)
  	if err != nil {
  		return fmt.Errorf("failed to get container %q log path: %v", containerID, err)
  	}
  
  	if path == "" {
  		klog.V(5).Infof("Container %s log path isn't specified, will not create the symlink", containerID)
  		return nil
  	}
  
  	if realPath != "" {
  		// Only create the symlink when container log path is specified and log file exists.
  		// Delete possibly existing file first
  		if err = ds.os.Remove(path); err == nil {
  			klog.Warningf("Deleted previously existing symlink file: %q", path)
  		}
  		if err = ds.os.Symlink(realPath, path); err != nil {
  			return fmt.Errorf("failed to create symbolic link %q to the container log file %q for container %q: %v",
  				path, realPath, containerID, err)
  		}
  	} else {
  		supported, err := ds.IsCRISupportedLogDriver()
  		if err != nil {
  			klog.Warningf("Failed to check supported logging driver by CRI: %v", err)
  			return nil
  		}
  
  		if supported {
  			klog.Warningf("Cannot create symbolic link because container log file doesn't exist!")
  		} else {
  			klog.V(5).Infof("Unsupported logging driver by CRI")
  		}
  	}
  
  	return nil
  }
docs: // createContainerLogSymlink creates the symlink for docker container log.