2016-02-27 20:18:50 +00:00
|
|
|
import logging
|
2020-11-18 13:23:30 +01:00
|
|
|
import uuid
|
2016-02-27 20:18:50 +00:00
|
|
|
|
|
|
|
|
|
2020-11-18 13:23:30 +01:00
|
|
|
class LoggingMixin:
|
|
|
|
|
logging_group = None
|
|
|
|
|
|
2021-02-05 01:10:29 +01:00
|
|
|
logging_name = None
|
|
|
|
|
|
2020-11-18 13:23:30 +01:00
|
|
|
def renew_logging_group(self):
|
|
|
|
|
self.logging_group = uuid.uuid4()
|
|
|
|
|
|
2020-12-04 15:42:05 +01:00
|
|
|
def log(self, level, message, **kwargs):
|
2021-02-05 01:10:29 +01:00
|
|
|
if self.logging_name:
|
|
|
|
|
logger = logging.getLogger(self.logging_name)
|
|
|
|
|
else:
|
2022-02-27 15:26:41 +01:00
|
|
|
name = ".".join([self.__class__.__module__, self.__class__.__name__])
|
2021-02-05 01:10:29 +01:00
|
|
|
logger = logging.getLogger(name)
|
2020-11-18 13:23:30 +01:00
|
|
|
|
2022-02-27 15:26:41 +01:00
|
|
|
getattr(logger, level)(message, extra={"group": self.logging_group}, **kwargs)
|