from .levels import levels from .handler import handler from .logger import logger class async_logger(logger): async def info(self, *args, **kwargs) -> None: await self.log(levels.info, *args, **kwargs) async def warning(self, *args, **kwargs) -> None: await self.log(levels.warning, *args, **kwargs) async def error(self, *args, **kwargs) -> None: await self.log(levels.error, *args, **kwargs) async def critical(self, *args, **kwargs) -> None: await self.log(levels.critical, *args, **kwargs) async def log(self, level: levels, *args, **kwargs) -> None: await self._write_to_all(self._get_message(level, *args, **kwargs)) async def _write_to_all(self, content: str) -> None: for handler in self._get_handlers(): await handler.adding(content)