class_docstr: A storage for debugging purpose.
code: def __init__(self, wrapped_storage: "Storage", path: str):
      self._log_on = True
      self._path = path
      self._wrapped_storage = wrapped_storage
      log_path = pathlib.Path(path)
      parsed = parse.urlparse(wrapped_storage.storage_url)
      log_path = (
          log_path
          / parsed.scheme.strip("/")
          / parsed.netloc.strip("/")
          / parsed.path.strip("/")
      )
      if not log_path.exists():
          log_path.mkdir(parents=True)
      self._logged_storage = LoggedStorage(str(log_path))
      self._op_log_file = log_path / "debug_operations.log"
  
imports: import json
  from typing import Any, List
  from urllib import parse
  import pathlib
  from filelock import FileLock
  from ray.workflow.storage.base import Storage
  from ray.workflow.storage.filesystem import FilesystemStorageImpl
  import ray.cloudpickle
  from ray.workflow import serialization_context
label_desc: Use image node_id 1 to create a new DebugStorage object from inherited base classes: Storage with example: obj = DebugStorage(wrapped_storage, path)