Showing
7 changed files
with
93 additions
and
60 deletions
| 1 | import os | 1 | import os |
| 2 | import time | 2 | import time |
| 3 | - | ||
| 4 | - | ||
| 5 | - | ||
| 6 | from aabd.base.enhance_dict import value_or_default | 3 | from aabd.base.enhance_dict import value_or_default |
| 7 | 4 | ||
| 5 | +import os | ||
| 6 | +os.environ['APP_LOG_TYPE'] = 'console,file' | ||
| 7 | +from aabd.base.patched_logging import init_logging, adapt_sys_out | ||
| 8 | +init_logging(log_fmt="log_fmt_3") | ||
| 9 | +# adapt_sys_out() | ||
| 10 | + | ||
| 8 | 11 | ||
| 12 | +import logging | ||
| 13 | +logger = logging.getLogger("api") | ||
| 9 | 14 | ||
| 10 | from utils.football_replay_video_event_by_llm import FootballReplayVideoEvent | 15 | from utils.football_replay_video_event_by_llm import FootballReplayVideoEvent |
| 11 | from utils.football_replay_match_live import FootballReplayMatchLive | 16 | from utils.football_replay_match_live import FootballReplayMatchLive |
| 12 | 17 | ||
| 13 | -from utils.my_logger import get_logger | ||
| 14 | - | ||
| 15 | -logger = get_logger() | 18 | +# from utils.my_logger import get_logger |
| 19 | +# logger = get_logger() | ||
| 16 | 20 | ||
| 17 | class FootballReplayMatch: | 21 | class FootballReplayMatch: |
| 18 | def __init__(self, settings): | 22 | def __init__(self, settings): |
| @@ -41,8 +41,8 @@ def _fake_settings(): | @@ -41,8 +41,8 @@ def _fake_settings(): | ||
| 41 | temperature=0.7, | 41 | temperature=0.7, |
| 42 | api_key='no_key' | 42 | api_key='no_key' |
| 43 | ), | 43 | ), |
| 44 | - common=SimpleNamespace(cache_dir=f"/root/lzw/tmp_0603_replay_cache/videos_cache", | ||
| 45 | - task_log_dir=f"/root/lzw/tmp_0603_replay_cache/tasks_log" | 44 | + common=SimpleNamespace(cache_dir=f"/root/lzw/tmp_0707_02_replay_cache/videos_cache", |
| 45 | + task_log_dir=f"/root/lzw/tmp_0707_02_replay_cache/tasks_log" | ||
| 46 | ), | 46 | ), |
| 47 | save_frames_enable=True, | 47 | save_frames_enable=True, |
| 48 | ) | 48 | ) |
src/football_replay_match/core/log_cfg.yaml
0 → 100644
| 1 | +handlers: | ||
| 2 | + video_event_log: | ||
| 3 | + tpl_name: log_file | ||
| 4 | + filename: ${init_cfg.log_dir}/other/video_event.log | ||
| 5 | + llm_image_log: | ||
| 6 | + tpl_name: log_file | ||
| 7 | + filename: ${init_cfg.log_dir}/other/llm_image.log | ||
| 8 | + match_live_log: | ||
| 9 | + tpl_name: log_file | ||
| 10 | + filename: ${init_cfg.log_dir}/other/match_live.log | ||
| 11 | + api_log: | ||
| 12 | + tpl_name: log_file | ||
| 13 | + filename: ${init_cfg.log_dir}/other/api.log | ||
| 14 | +loggers: | ||
| 15 | + video_event: | ||
| 16 | + handlers: [ video_event_log ] | ||
| 17 | + llm_image: | ||
| 18 | + handlers: [ llm_image_log ] | ||
| 19 | + match_live: | ||
| 20 | + handlers: [ match_live_log ] | ||
| 21 | + api: | ||
| 22 | + handlers: [ api_log ] |
| @@ -10,14 +10,17 @@ from langchain_openai import ChatOpenAI | @@ -10,14 +10,17 @@ from langchain_openai import ChatOpenAI | ||
| 10 | 10 | ||
| 11 | try: | 11 | try: |
| 12 | from .llm_image import Video2Frame | 12 | from .llm_image import Video2Frame |
| 13 | - from .my_logger import get_logger | 13 | + # from .my_logger import get_logger |
| 14 | except: | 14 | except: |
| 15 | from llm_image import Video2Frame | 15 | from llm_image import Video2Frame |
| 16 | - from my_logger import get_logger | 16 | + # from my_logger import get_logger |
| 17 | 17 | ||
| 18 | 18 | ||
| 19 | 19 | ||
| 20 | -logger = get_logger() | 20 | +# logger = get_logger() |
| 21 | +import logging | ||
| 22 | +logger = logging.getLogger("match_live") | ||
| 23 | + | ||
| 21 | # req_prompt = """ | 24 | # req_prompt = """ |
| 22 | # # Role | 25 | # # Role |
| 23 | # 你是一名拥有20年经验的足球视频技术分析师,擅长结合**视觉画面**与**解说音频(ASR)**进行跨镜头的事件匹配。你能通过解说员的描述锁定时间背景,并通过视觉特征确认物理细节。 | 26 | # 你是一名拥有20年经验的足球视频技术分析师,擅长结合**视觉画面**与**解说音频(ASR)**进行跨镜头的事件匹配。你能通过解说员的描述锁定时间背景,并通过视觉特征确认物理细节。 |
| @@ -10,14 +10,16 @@ from langchain_openai import ChatOpenAI | @@ -10,14 +10,16 @@ from langchain_openai import ChatOpenAI | ||
| 10 | 10 | ||
| 11 | try: | 11 | try: |
| 12 | from .llm_image import Video2Frame | 12 | from .llm_image import Video2Frame |
| 13 | - from .my_logger import get_logger | 13 | + # from .my_logger import get_logger |
| 14 | except: | 14 | except: |
| 15 | from llm_image import Video2Frame | 15 | from llm_image import Video2Frame |
| 16 | - from my_logger import get_logger | 16 | + # from my_logger import get_logger |
| 17 | 17 | ||
| 18 | 18 | ||
| 19 | 19 | ||
| 20 | -logger = get_logger() | 20 | +# logger = get_logger() |
| 21 | +import logging | ||
| 22 | +logger = logging.getLogger("video_event") | ||
| 21 | 23 | ||
| 22 | 24 | ||
| 23 | req_prompt = """ | 25 | req_prompt = """ |
| @@ -13,13 +13,15 @@ import json | @@ -13,13 +13,15 @@ import json | ||
| 13 | 13 | ||
| 14 | import hashlib | 14 | import hashlib |
| 15 | 15 | ||
| 16 | -try: | ||
| 17 | - from .my_logger import get_logger | ||
| 18 | -except: | 16 | +# try: |
| 17 | +# from .my_logger import get_logger | ||
| 18 | +# except: | ||
| 19 | 19 | ||
| 20 | - from my_logger import get_logger | 20 | +# from my_logger import get_logger |
| 21 | 21 | ||
| 22 | -logger = get_logger() | 22 | +# logger = get_logger() |
| 23 | +import logging | ||
| 24 | +logger = logging.getLogger("llm_image") | ||
| 23 | 25 | ||
| 24 | _IS_ABSOLUTE_UTC_THRESHOLD = 1_000_000_000 | 26 | _IS_ABSOLUTE_UTC_THRESHOLD = 1_000_000_000 |
| 25 | 27 |
| 1 | -import os | ||
| 2 | -import time | ||
| 3 | -import logging | ||
| 4 | -from functools import lru_cache | ||
| 5 | -from logging.handlers import TimedRotatingFileHandler # 引入按时间切割的处理器 | 1 | +# import os |
| 2 | +# import time | ||
| 3 | +# import logging | ||
| 4 | +# from functools import lru_cache | ||
| 5 | +# from logging.handlers import TimedRotatingFileHandler # 引入按时间切割的处理器 | ||
| 6 | 6 | ||
| 7 | -@lru_cache(maxsize=1) | ||
| 8 | -def get_logger(): | ||
| 9 | - name = "football_replay_match" | ||
| 10 | - logger = logging.getLogger(name) | ||
| 11 | - logger.setLevel(logging.INFO) | 7 | +# @lru_cache(maxsize=1) |
| 8 | +# def get_logger(): | ||
| 9 | +# name = "football_replay_match" | ||
| 10 | +# logger = logging.getLogger(name) | ||
| 11 | +# logger.setLevel(logging.INFO) | ||
| 12 | 12 | ||
| 13 | - # 1. 配置日志输出格式 | ||
| 14 | - formatter = logging.Formatter( | ||
| 15 | - '%(asctime)s.%(msecs)03d - %(name)s - %(levelname)s - [%(filename)s:%(lineno)d] - %(message)s', | ||
| 16 | - datefmt='%Y-%m-%d %H:%M:%S' | ||
| 17 | - ) | 13 | +# # 1. 配置日志输出格式 |
| 14 | +# formatter = logging.Formatter( | ||
| 15 | +# '%(asctime)s.%(msecs)03d - %(name)s - %(levelname)s - [%(filename)s:%(lineno)d] - %(message)s', | ||
| 16 | +# datefmt='%Y-%m-%d %H:%M:%S' | ||
| 17 | +# ) | ||
| 18 | 18 | ||
| 19 | - # 2. 创建控制台处理器 | ||
| 20 | - console_handler = logging.StreamHandler() | ||
| 21 | - console_handler.setFormatter(formatter) | ||
| 22 | - logger.addHandler(console_handler) | 19 | +# # 2. 创建控制台处理器 |
| 20 | +# console_handler = logging.StreamHandler() | ||
| 21 | +# console_handler.setFormatter(formatter) | ||
| 22 | +# logger.addHandler(console_handler) | ||
| 23 | 23 | ||
| 24 | - # 3. 创建按天自动切割的文件处理器 | ||
| 25 | - log_dir = "logs" | ||
| 26 | - if not os.path.exists(log_dir): | ||
| 27 | - os.makedirs(log_dir) | 24 | +# # 3. 创建按天自动切割的文件处理器 |
| 25 | +# log_dir = "logs" | ||
| 26 | +# if not os.path.exists(log_dir): | ||
| 27 | +# os.makedirs(log_dir) | ||
| 28 | 28 | ||
| 29 | - # 基础日志文件名 | ||
| 30 | - base_log_file = os.path.join(log_dir, "run.log") | 29 | +# # 基础日志文件名 |
| 30 | +# base_log_file = os.path.join(log_dir, "run.log") | ||
| 31 | 31 | ||
| 32 | - # TimedRotatingFileHandler 参数说明: | ||
| 33 | - # when='midnight' : 每天凌晨自动切割 | ||
| 34 | - # interval=1 : 每1个单位(即每天)切割一次 | ||
| 35 | - # backupCount=30 : 保留最近30天的日志,超出的会自动删除(防止硬盘被写满) | ||
| 36 | - # encoding='utf-8': 防止中文乱码 | ||
| 37 | - file_handler = TimedRotatingFileHandler( | ||
| 38 | - base_log_file, | ||
| 39 | - when='midnight', | ||
| 40 | - interval=1, | ||
| 41 | - backupCount=30, | ||
| 42 | - encoding='utf-8' | ||
| 43 | - ) | ||
| 44 | - file_handler.suffix = "%Y%m%d" # 切割后的旧日志会自动带上日期后缀,如 run.log.20260601 | ||
| 45 | - file_handler.setFormatter(formatter) | ||
| 46 | - logger.addHandler(file_handler) | 32 | +# # TimedRotatingFileHandler 参数说明: |
| 33 | +# # when='midnight' : 每天凌晨自动切割 | ||
| 34 | +# # interval=1 : 每1个单位(即每天)切割一次 | ||
| 35 | +# # backupCount=30 : 保留最近30天的日志,超出的会自动删除(防止硬盘被写满) | ||
| 36 | +# # encoding='utf-8': 防止中文乱码 | ||
| 37 | +# file_handler = TimedRotatingFileHandler( | ||
| 38 | +# base_log_file, | ||
| 39 | +# when='midnight', | ||
| 40 | +# interval=1, | ||
| 41 | +# backupCount=30, | ||
| 42 | +# encoding='utf-8' | ||
| 43 | +# ) | ||
| 44 | +# file_handler.suffix = "%Y%m%d" # 切割后的旧日志会自动带上日期后缀,如 run.log.20260601 | ||
| 45 | +# file_handler.setFormatter(formatter) | ||
| 46 | +# logger.addHandler(file_handler) | ||
| 47 | 47 | ||
| 48 | - return logger | ||
| 48 | +# return logger |
-
Please register or login to post a comment