From d0184bd34cd75aed5ceba893af8e1042bdd36ebf Mon Sep 17 00:00:00 2001 From: jxxghp Date: Fri, 9 Feb 2024 09:35:05 +0800 Subject: [PATCH] fix logger --- app/chain/__init__.py | 2 +- app/chain/search.py | 5 +++-- app/chain/torrents.py | 3 ++- app/command.py | 3 +-- app/core/meta/metaanime.py | 7 +++++-- app/core/meta/metabase.py | 10 ++++++---- app/core/meta/words.py | 8 +++++--- app/core/security.py | 5 ++++- app/helper/module.py | 5 ++++- app/helper/plugin.py | 4 +++- app/helper/rss.py | 7 ++++--- app/modules/douban/douban_cache.py | 4 +++- app/modules/emby/emby.py | 3 ++- app/modules/indexer/spider.py | 5 +++-- app/modules/themoviedb/tmdb_cache.py | 4 +++- app/modules/themoviedb/tmdbapi.py | 12 +++++------- 16 files changed, 54 insertions(+), 33 deletions(-) diff --git a/app/chain/__init__.py b/app/chain/__init__.py index 94dfd43e..4c28e8c2 100644 --- a/app/chain/__init__.py +++ b/app/chain/__init__.py @@ -108,7 +108,7 @@ class ChainBase(metaclass=ABCMeta): break except Exception as err: logger.error( - f"运行模块 {method} 出错:{module.__class__.__name__} - {str(err)}\n{traceback.print_exc()}") + f"运行模块 {method} 出错:{module.__class__.__name__} - {str(err)}\n{traceback.format_exc()}") return result def recognize_media(self, meta: MetaBase = None, diff --git a/app/chain/search.py b/app/chain/search.py index 73eb7d95..f3cc66d1 100644 --- a/app/chain/search.py +++ b/app/chain/search.py @@ -1,5 +1,6 @@ import pickle import re +import traceback from concurrent.futures import ThreadPoolExecutor, as_completed from datetime import datetime from typing import Dict, Tuple @@ -74,7 +75,7 @@ class SearchChain(ChainBase): try: return pickle.loads(results) except Exception as e: - print(str(e)) + logger.error(f'加载搜索结果失败:{str(e)} - {traceback.format_exc()}') return [] def process(self, mediainfo: MediaInfo, @@ -380,7 +381,7 @@ class SearchChain(ChainBase): elif len(size_range) == 2: return float(size_range[0]), float(size_range[1]) except Exception as e: - print(str(e)) + logger.error(f"解析大小范围失败:{str(e)} - {traceback.format_exc()}") return 0, 0 def __filter_torrent(t: TorrentInfo) -> bool: diff --git a/app/chain/torrents.py b/app/chain/torrents.py index cfa8df33..2f6a61d8 100644 --- a/app/chain/torrents.py +++ b/app/chain/torrents.py @@ -1,4 +1,5 @@ import re +import traceback from typing import Dict, List, Union from cachetools import cached, TTLCache @@ -246,5 +247,5 @@ class TorrentsChain(ChainBase, metaclass=Singleton): self.post_message( Notification(mtype=NotificationType.SiteMessage, title=f"站点 {domain} RSS链接已过期")) except Exception as e: - print(str(e)) + logger.error(f"站点 {domain} RSS链接自动获取失败:{str(e)} - {traceback.format_exc()}") self.post_message(Notification(mtype=NotificationType.SiteMessage, title=f"站点 {domain} RSS链接已过期")) diff --git a/app/command.py b/app/command.py index cdfdd01d..e6b907b8 100644 --- a/app/command.py +++ b/app/command.py @@ -315,8 +315,7 @@ class Command(metaclass=Singleton): else: logger.info(f"{command.get('description')} 执行完成") except Exception as err: - logger.error(f"执行命令 {cmd} 出错:{str(err)}") - traceback.print_exc() + logger.error(f"执行命令 {cmd} 出错:{str(err)} - {traceback.format_exc()}") @staticmethod def send_plugin_event(etype: EventType, data: dict) -> None: diff --git a/app/core/meta/metaanime.py b/app/core/meta/metaanime.py index ed2a2cc2..6415775e 100644 --- a/app/core/meta/metaanime.py +++ b/app/core/meta/metaanime.py @@ -1,9 +1,12 @@ import re +import traceback + import zhconv import anitopy from app.core.meta.customization import CustomizationMatcher from app.core.meta.metabase import MetaBase from app.core.meta.releasegroup import ReleaseGroupsMatcher +from app.log import logger from app.utils.string import StringUtils from app.schemas.types import MediaType @@ -117,7 +120,7 @@ class MetaAnime(MetaBase): else: self.total_episode = 1 except Exception as err: - print(str(err)) + logger.debug(f"解析集数失败:{str(err)} - {traceback.format_exc()}") self.begin_episode = None self.end_episode = None self.type = MediaType.TV @@ -162,7 +165,7 @@ class MetaAnime(MetaBase): if not self.type: self.type = MediaType.TV except Exception as e: - print(str(e)) + logger.error(f"解析动漫信息失败:{str(e)} - {traceback.format_exc()}") @staticmethod def __prepare_title(title: str): diff --git a/app/core/meta/metabase.py b/app/core/meta/metabase.py index 89ca1d6e..9b395e13 100644 --- a/app/core/meta/metabase.py +++ b/app/core/meta/metabase.py @@ -1,9 +1,11 @@ +import traceback from dataclasses import dataclass, asdict from typing import Union, Optional, List, Self import cn2an import regex as re +from app.log import logger from app.utils.string import StringUtils from app.schemas.types import MediaType @@ -127,7 +129,7 @@ class MetaBase(object): else: begin_season = int(cn2an.cn2an(seasons, mode='smart')) except Exception as err: - print(str(err)) + logger.debug(f'识别季失败:{str(err)} - {traceback.format_exc()}') return if self.begin_season is None and isinstance(begin_season, int): self.begin_season = begin_season @@ -158,7 +160,7 @@ class MetaBase(object): else: begin_episode = int(cn2an.cn2an(episodes, mode='smart')) except Exception as err: - print(str(err)) + logger.debug(f'识别集失败:{str(err)} - {traceback.format_exc()}') return if self.begin_episode is None and isinstance(begin_episode, int): self.begin_episode = begin_episode @@ -181,7 +183,7 @@ class MetaBase(object): try: self.total_episode = int(cn2an.cn2an(episode_all.strip(), mode='smart')) except Exception as err: - print(str(err)) + logger.debug(f'识别集失败:{str(err)} - {traceback.format_exc()}') return self.begin_episode = None self.end_episode = None @@ -197,7 +199,7 @@ class MetaBase(object): try: self.total_season = int(cn2an.cn2an(season_all.strip(), mode='smart')) except Exception as err: - print(str(err)) + logger.debug(f'识别季失败:{str(err)} - {traceback.format_exc()}') return self.begin_season = 1 self.end_season = self.total_season diff --git a/app/core/meta/words.py b/app/core/meta/words.py index 81c508e8..6e46372e 100644 --- a/app/core/meta/words.py +++ b/app/core/meta/words.py @@ -1,9 +1,11 @@ +import traceback from typing import List, Tuple import cn2an import regex as re from app.db.systemconfig_oper import SystemConfigOper +from app.log import logger from app.schemas.types import SystemConfigKey from app.utils.singleton import Singleton @@ -62,7 +64,7 @@ class WordsMatcher(metaclass=Singleton): appley_words.append(word) except Exception as err: - print(str(err)) + logger.error(f"自定义识别词预处理标题失败:{str(err)} - {traceback.format_exc()}") return title, appley_words @@ -77,7 +79,7 @@ class WordsMatcher(metaclass=Singleton): else: return re.sub(r'%s' % replaced, r'%s' % replace, title), "", True except Exception as err: - print(str(err)) + logger.error(f"自定义识别词正则替换失败:{str(err)} - {traceback.format_exc()}") return title, str(err), False @staticmethod @@ -129,5 +131,5 @@ class WordsMatcher(metaclass=Singleton): title = re.sub(episode_offset_re, r'%s' % episode_num[1], title) return title, "", True except Exception as err: - print(str(err)) + logger.error(f"自定义识别词集数偏移失败:{str(err)} - {traceback.format_exc()}") return title, str(err), False diff --git a/app/core/security.py b/app/core/security.py index a4855e8b..fee46132 100644 --- a/app/core/security.py +++ b/app/core/security.py @@ -3,6 +3,7 @@ import hashlib import hmac import json import os +import traceback from datetime import datetime, timedelta from typing import Any, Union, Optional import jwt @@ -16,6 +17,8 @@ from app import schemas from app.core.config import settings from cryptography.fernet import Fernet +from app.log import logger + pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto") ALGORITHM = "HS256" @@ -112,7 +115,7 @@ def decrypt(data: bytes, key: bytes) -> Optional[bytes]: try: return fernet.decrypt(data) except Exception as e: - print(str(e)) + logger.error(f"解密失败:{str(e)} - {traceback.format_exc()}") return None diff --git a/app/helper/module.py b/app/helper/module.py index e4c7ce33..73cbe400 100644 --- a/app/helper/module.py +++ b/app/helper/module.py @@ -1,8 +1,11 @@ # -*- coding: utf-8 -*- import importlib import pkgutil +import traceback from pathlib import Path +from app.log import logger + class ModuleHelper: """ @@ -33,7 +36,7 @@ class ModuleHelper: if isinstance(obj, type) and filter_func(name, obj): submodules.append(obj) except Exception as err: - print(f'加载模块 {package_name} 失败:{err}') + logger.error(f'加载模块 {package_name} 失败:{str(err)} - {traceback.format_exc()}') return submodules diff --git a/app/helper/plugin.py b/app/helper/plugin.py index 79509b31..76aacb85 100644 --- a/app/helper/plugin.py +++ b/app/helper/plugin.py @@ -1,11 +1,13 @@ import json import shutil +import traceback from pathlib import Path from typing import Dict, Tuple, Optional, List from cachetools import TTLCache, cached from app.core.config import settings +from app.log import logger from app.utils.http import RequestUtils from app.utils.singleton import Singleton from app.utils.system import SystemUtils @@ -51,7 +53,7 @@ class PluginHelper(metaclass=Singleton): try: user, repo = repo_url.split("/")[-4:-2] except Exception as e: - print(str(e)) + logger.error(f"解析Github仓库地址失败:{str(e)} - {traceback.format_exc()}") return None, None return user, repo diff --git a/app/helper/rss.py b/app/helper/rss.py index cd328220..0c5c3ae4 100644 --- a/app/helper/rss.py +++ b/app/helper/rss.py @@ -1,4 +1,5 @@ import re +import traceback import xml.dom.minidom from typing import List, Tuple, Union from urllib.parse import urljoin @@ -240,7 +241,7 @@ class RssHelper: if not ret: return [] except Exception as err: - print(str(err)) + logger.error(f"获取RSS失败:{str(err)} - {traceback.format_exc()}") return [] if ret: ret_xml = "" @@ -306,10 +307,10 @@ class RssHelper: 'pubdate': pubdate} ret_array.append(tmp_dict) except Exception as e1: - print(str(e1)) + logger.debug(f"解析RSS失败:{str(e1)} - {traceback.format_exc()}") continue except Exception as e2: - print(str(e2)) + logger.error(f"解析RSS失败:{str(e2)} - {traceback.format_exc()}") # RSS过期 观众RSS 链接已过期,您需要获得一个新的! pthome RSS Link has expired, You need to get a new one! _rss_expired_msg = [ "RSS 链接已过期, 您需要获得一个新的!", diff --git a/app/modules/douban/douban_cache.py b/app/modules/douban/douban_cache.py index ad68255c..eb09c061 100644 --- a/app/modules/douban/douban_cache.py +++ b/app/modules/douban/douban_cache.py @@ -1,6 +1,7 @@ import pickle import random import time +import traceback from pathlib import Path from threading import RLock from typing import Optional @@ -8,6 +9,7 @@ from typing import Optional from app.core.config import settings from app.core.meta import MetaBase from app.core.metainfo import MetaInfo +from app.log import logger from app.utils.singleton import Singleton from app.schemas.types import MediaType @@ -119,7 +121,7 @@ class DoubanCache(metaclass=Singleton): return data return {} except Exception as e: - print(str(e)) + logger.error(f"加载缓存失败: {str(e)} - {traceback.format_exc()}") return {} def update(self, meta: MetaBase, info: dict) -> None: diff --git a/app/modules/emby/emby.py b/app/modules/emby/emby.py index ef393ebc..25d005c9 100644 --- a/app/modules/emby/emby.py +++ b/app/modules/emby/emby.py @@ -1,5 +1,6 @@ import json import re +import traceback from pathlib import Path from typing import List, Optional, Union, Dict, Generator, Tuple @@ -535,7 +536,7 @@ class Emby(metaclass=Singleton): if item_path.is_relative_to(subfolder_path): return folder.get("Id") except Exception as err: - print(str(err)) + logger.debug(f"匹配子目录出错:{err} - {traceback.format_exc()}") # 如果找不到,只要路径中有分类目录名就命中 for folder in self.folders: for subfolder in folder.get("SubFolders"): diff --git a/app/modules/indexer/spider.py b/app/modules/indexer/spider.py index d0d714eb..76b4c4cd 100644 --- a/app/modules/indexer/spider.py +++ b/app/modules/indexer/spider.py @@ -1,6 +1,7 @@ import copy import datetime import re +import traceback from typing import List from urllib.parse import quote, urlencode @@ -608,8 +609,8 @@ class TorrentSpider: for filter_item in filters: if not text: break + method_name = filter_item.get("name") try: - method_name = filter_item.get("name") args = filter_item.get("args") if method_name == "re_search" and isinstance(args, list): text = re.search(r"%s" % args[0], text).group(args[-1]) @@ -624,7 +625,7 @@ class TorrentSpider: elif method_name == "appendleft": text = f"{args}{text}" except Exception as err: - print(str(err)) + logger.debug(f'过滤器 {method_name} 处理失败:{str(err)} - {traceback.format_exc()}') return text.strip() @staticmethod diff --git a/app/modules/themoviedb/tmdb_cache.py b/app/modules/themoviedb/tmdb_cache.py index 8adab703..d7ea0f5d 100644 --- a/app/modules/themoviedb/tmdb_cache.py +++ b/app/modules/themoviedb/tmdb_cache.py @@ -1,12 +1,14 @@ import pickle import random import time +import traceback from pathlib import Path from threading import RLock from typing import Optional from app.core.config import settings from app.core.meta import MetaBase +from app.log import logger from app.utils.singleton import Singleton from app.schemas.types import MediaType @@ -118,7 +120,7 @@ class TmdbCache(metaclass=Singleton): return data return {} except Exception as e: - print(str(e)) + logger.error(f'加载缓存失败:{str(e)} - {traceback.format_exc()}') return {} def update(self, meta: MetaBase, info: dict) -> None: diff --git a/app/modules/themoviedb/tmdbapi.py b/app/modules/themoviedb/tmdbapi.py index f1617de2..d30b3137 100644 --- a/app/modules/themoviedb/tmdbapi.py +++ b/app/modules/themoviedb/tmdbapi.py @@ -213,8 +213,7 @@ class TmdbHelper: logger.error(f"连接TMDB出错:{str(err)}") return None except Exception as e: - logger.error(f"连接TMDB出错:{str(e)}") - print(traceback.print_exc()) + logger.error(f"连接TMDB出错:{str(e)} - {traceback.format_exc()}") return None logger.debug(f"API返回:{str(self.search.total_results)}") if len(movies) == 0: @@ -261,8 +260,7 @@ class TmdbHelper: logger.error(f"连接TMDB出错:{str(err)}") return None except Exception as e: - logger.error(f"连接TMDB出错:{str(e)}") - print(traceback.print_exc()) + logger.error(f"连接TMDB出错:{str(e)} - {traceback.format_exc()}") return None logger.debug(f"API返回:{str(self.search.total_results)}") if len(tvs) == 0: @@ -313,7 +311,7 @@ class TmdbHelper: return True except Exception as e1: logger.error(f"连接TMDB出错:{e1}") - print(traceback.print_exc()) + print(traceback.format_exc()) return False return False @@ -324,7 +322,7 @@ class TmdbHelper: return None except Exception as e: logger.error(f"连接TMDB出错:{str(e)}") - print(traceback.print_exc()) + print(traceback.format_exc()) return None if len(tvs) == 0: @@ -404,7 +402,7 @@ class TmdbHelper: return None except Exception as e: logger.error(f"连接TMDB出错:{str(e)}") - print(traceback.print_exc()) + print(traceback.format_exc()) return None logger.debug(f"API返回:{str(self.search.total_results)}") # 返回结果