# -*- coding: utf-8 -*-
import logging
import os

# 全局日志记录器变量
logger = None


def setup_logger(log_file_path):
    """
    设置全局日志记录器。
    """
    global logger

    # 确保日志文件路径存在
    os.makedirs(os.path.dirname(log_file_path), exist_ok=True)

    # 配置日志记录器
    logger = logging.getLogger(__name__)
    logger.setLevel(logging.DEBUG)

    # 创建一个文件处理器，将日志输出到文件
    file_handler = logging.FileHandler(filename=log_file_path, mode='a', encoding='utf-8')
    file_handler.setLevel(logging.DEBUG)

    # 创建一个格式器，定义日志输出的格式
    formatter = logging.Formatter("[%(asctime)s] - [%(levelname)s] [%(filename)s] [line:%(lineno)d] - [%(message)s]")
    file_handler.setFormatter(formatter)

    # 将处理器添加到记录器
    logger.addHandler(file_handler)


def get_logger():
    """
    返回已配置的全局日志记录器。
    """
    return logger
