from abc import ABC, abstractmethod
[docs]
class LoggerInterface(ABC):
"""`LoggerInterface` is interface for logging-classes.
Already exist:
- stdout logger (`telegram-bot-discussion.ext.logger.printer.Printer`);
- file output logger (`telegram-bot-discussion.ext.logger.time_rotating_file.TimeRotatingFile`).
In examples repository also present:
- JSON-format logger based on `pythonjsonlogger.jsonlogger.JsonFormatter`.
"""
[docs]
@abstractmethod
def debug(self, *args, **kwargs):
"""Fix data as debug-level message"""
...
[docs]
@abstractmethod
def info(self, *args, **kwargs):
"""Fix data as info-level message"""
...
[docs]
@abstractmethod
def warning(self, *args, **kwargs):
"""Fix data as warning-level message"""
...
[docs]
@abstractmethod
def error(self, *args, **kwargs):
"""Fix data as error-level message"""
...
def __call__(self, *args, **kwargs):
self.info(*args, **kwargs)