async_logger.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. from .levels import levels
  2. from .handler import handler
  3. from .logger import logger
  4. class async_logger(logger):
  5. """
  6. That is logger, which use async methods to save data into handles.
  7. Methods
  8. -------
  9. async info(content, *args, **kwargs)
  10. That log info level message.
  11. async warning(content, *args, **kwargs)
  12. That log warning level message.
  13. async error(content, *args, **kwargs)
  14. That log error level message.
  15. async critical(content, *args, **kwargs)
  16. That log critical level message.
  17. async log(level, content, *args, **kwargs)
  18. That generally save content to log with given level.
  19. """
  20. async def info(self, content: str, *args, **kwargs) -> None:
  21. """
  22. That log info level message.
  23. Parameters
  24. ----------
  25. content : str
  26. Content to store in the log.
  27. *args, **kwargs
  28. When any of that parameters had been given, then format funcion
  29. hed been used on the content.
  30. """
  31. await self.log(levels.info, content, *args, **kwargs)
  32. async def warning(self, content: str, *args, **kwargs) -> None:
  33. """
  34. That log warning level message.
  35. Parameters
  36. ----------
  37. content : str
  38. Content to store in the log.
  39. *args, **kwargs
  40. When any of that parameters had been given, then format funcion
  41. hed been used on the content.
  42. """
  43. await self.log(levels.warning, content, *args, **kwargs)
  44. async def error(self, content: str, *args, **kwargs) -> None:
  45. """
  46. That log error level message.
  47. Parameters
  48. ----------
  49. content : str
  50. Content to store in the log.
  51. *args, **kwargs
  52. When any of that parameters had been given, then format funcion
  53. hed been used on the content.
  54. """
  55. await self.log(levels.error, content, *args, **kwargs)
  56. async def critical(self, content: str, *args, **kwargs) -> None:
  57. """
  58. That log critical level message.
  59. Parameters
  60. ----------
  61. content : str
  62. Content to store in the log.
  63. *args, **kwargs
  64. When any of that parameters had been given, then format funcion
  65. hed been used on the content.
  66. """
  67. await self.log(levels.critical, content, *args, **kwargs)
  68. async def log(self, level: levels, content: str, *args, **kwargs) -> None:
  69. """
  70. That log message, log level is given in the parameter.
  71. Parameters
  72. ----------
  73. level : levels
  74. Level of the message to save.
  75. content : str
  76. Content to store in the log.
  77. *args, **kwargs
  78. When any of that parameters had been given, then format funcion
  79. hed been used on the content.
  80. """
  81. await self._write_to_all(
  82. self._get_message(level, content, *args, **kwargs)
  83. )
  84. async def _write_to_all(self, content: str) -> None:
  85. """
  86. That write content to all handlers.
  87. Parameters
  88. ----------
  89. content : str
  90. Content to been writen.
  91. """
  92. for handler in self._get_handlers():
  93. await handler.adding(content)