"""
Setup logging like Biz/Log.hs.
"""

import logging
import typing


class LowerFormatter(logging.Formatter):
    def format(self, record: typing.Any) -> typing.Any:
        record.levelname = record.levelname.lower()
        return super(logging.Formatter, self).format(record)  # type: ignore


def setup() -> None:
    "Run this in your __main__ function"
    logging.basicConfig(
        level=logging.DEBUG, format="%(levelname)s:  %(name)s:  %(message)s"
    )
    logging.addLevelName(logging.DEBUG, "dbug")
    logging.addLevelName(logging.ERROR, "fail")
    logging.addLevelName(logging.INFO, "info")
    logger = logging.getLogger(__name__)
    formatter = LowerFormatter()
    handler = logging.StreamHandler()
    handler.setFormatter(formatter)
    logger.addHandler(handler)


if __name__ == "__main__":
    setup()
    logging.debug("i am doing testing")