import logging import os LOG_PATH = os.path.abspath( os.path.join(os.path.dirname(__file__), "..", "logs", "app.log")) LOG_LEVEL = logging.DEBUG def logger_initialize() -> logging.Logger: """Initialize the logger for the application. Return a logger that logs to console and a app.log.""" logger = logging.getLogger("PlexPlaylistSync") if logger.hasHandlers(): return logger # check log path exists, if not create it os.makedirs(os.path.dirname(LOG_PATH), exist_ok=True) logger.setLevel(LOG_LEVEL) # 2025-07-19 17:23:05,116 [levelname]: message formatter = logging.Formatter("%(asctime)s [%(levelname)s]: %(message)s") file_handler = logging.FileHandler(LOG_PATH, encoding="utf-8") file_handler.setFormatter(formatter) # add file handler logger.addHandler(file_handler) # console handler console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) logger.addHandler(console_handler) return logger logger = logger_initialize()