lizhengwei

jira:NYJ-1736 desc: Change the logging method

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