#!/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


class Loggable:
    __slots__ = ('logger',)
    
    def __init_subclass__(cls, **_):
        cls.logger = logging.getLogger(cls.__qualname__)
