blob: 7e3fdd3c6e9f04f7b6e2cd14bef077e0c7d7346b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
"""Setup logging like Omni/Log.hs."""
import logging
import typing
class LowerFormatter(logging.Formatter):
"""A logging formatter that formats logs how I like."""
def format(self: "LowerFormatter", record: typing.Any) -> typing.Any:
"""Use the format I like for logging."""
record.levelname = record.levelname.lower()
return super(logging.Formatter, self).format(record) # type: ignore[misc]
def setup(level: int = logging.INFO) -> logging.Logger:
"""Run this in your `main()` function."""
logging.basicConfig(
level=level,
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)
return logger
def main() -> None:
"""Entrypoint to test that this kinda works."""
logger = setup()
logger.debug("i am doing testing")
|