    def get_task_loggers(self, with_adapters=True) -> Dict[str, Union['TaskAdapter', logging.Logger]]:
        """Get task logger(s) from the session.

        Parameters
        ----------
        with_adapters : bool, optional
            Whether get the loggers wrapped to
            rocketry.core.log.TaskAdapter, by default True

        Returns
        -------
        Dict[str, Union[TaskAdapter, logging.Logger]]
            Dictionary of the loggers (or adapters)
            in which the key is the logger name.
            Placeholders and loggers built for parallelized
            tasks are ignored.
        """
        from rocketry.core.log import TaskAdapter

        basename = self.config.task_logger_basename
        return {
            # The adapter should not be used to log (but to read) thus task_name = None
            name: TaskAdapter(logger, None) if with_adapters else logger
            for name, logger in logging.root.manager.loggerDict.items()
            if name.startswith(basename)
            and not isinstance(logger, logging.PlaceHolder)
            and not name.endswith("_process") # No private
        }
Get task logger(s) from the session.

Parameters
----------
with_adapters : bool, optional
Whether get the loggers wrapped to
rocketry.core.log.TaskAdapter, by default True

Returns
-------
Dict[str, Union[TaskAdapter, logging.Logger]]
Dictionary of the loggers (or adapters)
in which the key is the logger name.
Placeholders and loggers built for parallelized
tasks are ignored.
rocketry/session.py