47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
"""
|
||
项目日志工具
|
||
参考 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')
|