"""
项目日志工具
参考 qwen_agent 的日志实现方式
"""

import logging
import os


def setup_logger(name='qwen_agent_project', level=None):
    """
    设置日志记录器
    
    Args:
        name: logger名称
        level: 日志级别，默认根据环境变量QWEN_AGENT_DEBUG决定
    
    Returns:
        logging.Logger: 配置好的logger实例
    """
    if level is None:
        level = logging.DEBUG

    handler = logging.StreamHandler()
    # 使用与qwen_agent相同的格式
    formatter = logging.Formatter('%(asctime)s - %(filename)s - %(lineno)d - %(levelname)s - %(message)s')
    handler.setFormatter(formatter)

    _logger = logging.getLogger(name)
    _logger.setLevel(level)
    
    # 避免重复添加handler
    if not _logger.handlers:
        _logger.addHandler(handler)
    
    return _logger


# 创建项目主logger
logger = setup_logger()

# 创建专用的工具调用logger，便于过滤
tool_logger = setup_logger('qwen_agent_tools')

# 创建任务队列相关的logger
queue_logger = setup_logger('qwen_agent_queue')
