dcs-retribution/qt_ui/logging_config.py
2021-08-01 15:42:14 -07:00

34 lines
1009 B
Python

"""Logging APIs."""
import logging
import os
from logging.handlers import RotatingFileHandler
from qt_ui.logging_handler import HookableInMemoryHandler
def init_logging(version: str) -> None:
"""Initializes the logging configuration."""
if not os.path.isdir("./logs"):
os.mkdir("logs")
fmt = "%(asctime)s :: %(levelname)s :: %(message)s"
formatter = logging.Formatter(fmt)
logging.basicConfig(level=logging.DEBUG, format=fmt)
logger = logging.getLogger()
rotating_file_handler = RotatingFileHandler(
"./logs/liberation.log", "a", 5000000, 1
)
rotating_file_handler.setLevel(logging.DEBUG)
rotating_file_handler.setFormatter(formatter)
hookable_in_memory_handler = HookableInMemoryHandler()
hookable_in_memory_handler.setLevel(logging.DEBUG)
hookable_in_memory_handler.setFormatter(formatter)
logger.addHandler(rotating_file_handler)
logger.addHandler(hookable_in_memory_handler)
logger.info(f"DCS Liberation {version}")