33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
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() |