tuxbot-bot/tuxbot/logging.py

50 lines
1.3 KiB
Python
Raw Normal View History

2020-06-03 19:41:30 +02:00
import logging.handlers
import logging
2020-06-03 19:41:30 +02:00
import pathlib
import sys
MAX_OLD_LOGS = 8
MAX_BYTES = 5_000_000
2020-06-03 19:41:30 +02:00
def init_logging(level: int, location: pathlib.Path) -> None:
2020-06-04 00:46:53 +02:00
"""Initialize loggers.
Parameters
----------
level:int
Level of debug.
location:Path
Where to store logs.
"""
2020-06-05 00:29:14 +02:00
2020-06-03 19:41:30 +02:00
dpy_logger = logging.getLogger("discord")
dpy_logger.setLevel(logging.WARN)
2020-06-06 18:51:47 +02:00
dpy_logger_file = location / "discord.log"
base_logger = logging.getLogger("tuxbot")
2020-06-03 19:41:30 +02:00
base_logger.setLevel(level)
2020-06-06 18:51:47 +02:00
base_logger_file = location / "tuxbot.log"
2020-06-03 19:41:30 +02:00
formatter = logging.Formatter(
"[{asctime}] [{levelname}] {name}: {message}",
2020-06-06 18:51:47 +02:00
datefmt="%Y-%m-%d %H:%M:%S",
style="{",
)
dpy_handler = logging.handlers.RotatingFileHandler(
2020-06-06 18:51:47 +02:00
str(dpy_logger_file.resolve()), maxBytes=MAX_BYTES, backupCount=MAX_OLD_LOGS
)
base_handler = logging.handlers.RotatingFileHandler(
2020-06-06 18:51:47 +02:00
str(base_logger_file.resolve()), maxBytes=MAX_BYTES, backupCount=MAX_OLD_LOGS
2020-06-03 19:41:30 +02:00
)
stdout_handler = logging.StreamHandler(sys.stdout)
stdout_handler.setFormatter(formatter)
dpy_handler.setFormatter(formatter)
base_handler.setFormatter(formatter)
2020-06-05 00:29:14 +02:00
dpy_logger.addHandler(dpy_handler)
base_logger.addHandler(base_handler)