Repository: Lightning-AI/pytorch-lightning
File: pytorch_lightning/loggers/base.py (Python)

Code before:
        for logger in self._logger_iterable:
            logger.finalize(status)

    def close(self) -> None:
        for logger in self._logger_iterable:
            logger.close()

    @property
    def save_dir(self) -> Optional[str]:
        """
        Returns `None` as checkpoints should be saved to default / chosen location when using multiple loggers
        """
        # Checkpoints should be saved to default / chosen location when using multiple loggers
        return None

    @property
    def name(self) -> str:
        """
        Returns the experiment names for all the loggers in the logger collection joined by an underscore
        """
        return "_".join(str(logger.name) for logger in self._logger_iterable)

    @property
    def version(self) -> str:
        """
        Returns the experiment versions for all the loggers in the logger collection joined by an underscore
        """
        return "_".join(str(logger.version) for logger in self._logger_iterable)


class DummyExperiment:
    """Dummy experiment"""

    def nop(self, *args, **kw):
        pass

    def __getattr__(self, _):
        return self.nop

    def __getitem__(self, idx) -> "DummyExperiment":
        # enables self.logger.experiment[0].add_image(...)
        return self


class DummyLogger(LightningLoggerBase):
    """
    Dummy logger for internal use. It is useful if we want to disable user's
    logger for a feature, but still ensure that user code can run
    """

    def __init__(self):

Review comment (suggestion):
```suggestion
        Returns the experiment versions for all the loggers in the logger collection joined by an underscore.
```

Code after:
        for logger in self._logger_iterable:
            logger.finalize(status)

    def close(self) -> None:
        for logger in self._logger_iterable:
            logger.close()

    @property
    def save_dir(self) -> Optional[str]:
        """
        Returns ``None`` as checkpoints should be saved to default / chosen location when using multiple loggers.
        """
        # Checkpoints should be saved to default / chosen location when using multiple loggers
        return None

    @property
    def name(self) -> str:
        """
        Returns the experiment names for all the loggers in the logger collection joined by an underscore.
        """
        return "_".join(str(logger.name) for logger in self._logger_iterable)

    @property
    def version(self) -> str:
        """
        Returns the experiment versions for all the loggers in the logger collection joined by an underscore.
        """
        return "_".join(str(logger.version) for logger in self._logger_iterable)


class DummyExperiment:
    """Dummy experiment"""

    def nop(self, *args, **kw):
        pass

    def __getattr__(self, _):
        return self.nop

    def __getitem__(self, idx) -> "DummyExperiment":
        # enables self.logger.experiment[0].add_image(...)
        return self


class DummyLogger(LightningLoggerBase):
    """
    Dummy logger for internal use. It is useful if we want to disable user's
    logger for a feature, but still ensure that user code can run
    """

    def __init__(self):