from .levels import levels from .handler import handler from .logger import logger class async_logger(logger): """ That is logger, which use async methods to save data into handles. Methods ------- async info(content, *args, **kwargs) That log info level message. async warning(content, *args, **kwargs) """ async def info(self, content: str, *args, **kwargs) -> None: await self.log(levels.info, content, *args, **kwargs) async def warning(self, content: str, *args, **kwargs) -> None: await self.log(levels.warning, content, *args, **kwargs) async def error(self, content: str, *args, **kwargs) -> None: await self.log(levels.error, content, *args, **kwargs) async def critical(self, content: str, *args, **kwargs) -> None: await self.log(levels.critical, content, *args, **kwargs) async def log(self, level: levels, content: str, *args, **kwargs) -> None: await self._write_to_all( self._get_message(level, content, *args, **kwargs) ) async def _write_to_all(self, content: str) -> None: for handler in self._get_handlers(): await handler.adding(content)