2018-05-22 23:09:03 +01:00

25 lines
591 B
Python

#!/usr/bin/env python3.6
# -*- coding: utf-8 -*-
"""
Neko404NotFound 2018, MIT
A mixin class that injects a suitably named logger into class scope
at runtime.
Chosen to make this a slotted class, which means (as far as I can remember)
that it is not suitable to be made into an abc.ABC class. Slots will
enable derived slotted classes to be a bit more efficient at runtime and
boast faster lookups.
"""
import logging
__all__ = ('Loggable',)
class Loggable:
__slots__ = ('logger',)
def __init_subclass__(cls, **_):
cls.logger = logging.getLogger(cls.__qualname__)