dataclasses.py 413 B

123456789101112131415161718192021
  1. import logging
  2. from dataclasses import dataclass, field
  3. from datetime import datetime
  4. from django.utils import timezone
  5. __all__ = (
  6. 'JobLogEntry',
  7. )
  8. @dataclass
  9. class JobLogEntry:
  10. level: str
  11. message: str
  12. timestamp: datetime = field(default_factory=timezone.now)
  13. @classmethod
  14. def from_logrecord(cls, record: logging.LogRecord):
  15. return cls(record.levelname.lower(), record.msg)