yonbip-skill-utils 1.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
File without changes
@@ -0,0 +1,64 @@
1
+ import logging
2
+ import logging.handlers
3
+ from typing import Optional
4
+ import os
5
+
6
+ # 定义包的根 Logger 名称
7
+ PACKAGE_LOGGER_NAME = "yonbip_skill"
8
+ _LOG_CONFIGURED = False
9
+ # 日志文件保存路径(默认在用户当前目录的 logs 文件夹)
10
+ DEFAULT_LOG_FILE = os.path.join(os.getcwd(), "logs", f"{PACKAGE_LOGGER_NAME}.log")
11
+
12
+
13
+ def get_package_logger(name: Optional[str] = None, log_file: str = None) -> logging.Logger:
14
+ """
15
+ 获取包的 Logger 实例,同时输出到控制台和文件
16
+ :param name: 子模块名称
17
+ :param log_file: 日志文件路径,默认使用 DEFAULT_LOG_FILE
18
+ :return: 配置好的 Logger
19
+ """
20
+ global _LOG_CONFIGURED
21
+ log_file = log_file or DEFAULT_LOG_FILE
22
+
23
+ # 拼接 Logger 名称
24
+ logger_name = f"{PACKAGE_LOGGER_NAME}.{name}" if name else PACKAGE_LOGGER_NAME
25
+ logger = logging.getLogger(logger_name)
26
+
27
+ if not _LOG_CONFIGURED:
28
+ logger.setLevel(logging.INFO)
29
+ logger.propagate = False # 隔离 root Logger
30
+
31
+ # 1. 定义统一的日志格式
32
+ formatter = logging.Formatter(
33
+ fmt="[%(asctime)s] [%(name)s] [%(levelname)s] %(message)s",
34
+ datefmt="%Y-%m-%d %H:%M:%S"
35
+ )
36
+
37
+ # 2. 控制台 Handler
38
+ # console_handler = logging.StreamHandler()
39
+ # console_handler.setFormatter(formatter)
40
+ # logger.addHandler(console_handler) 禁用控制台输出避免AI捕获导致信息混乱
41
+
42
+ # 3. 文件 Handler
43
+ # 创建日志目录(不存在则自动创建)
44
+ log_dir = os.path.dirname(log_file)
45
+ if not os.path.exists(log_dir):
46
+ os.makedirs(log_dir, exist_ok=True)
47
+
48
+ # 配置文件 Handler:支持按大小分割日志
49
+ file_handler = logging.handlers.RotatingFileHandler(
50
+ filename=log_file,
51
+ maxBytes=10 * 1024 * 1024, # 单个文件最大 10MB
52
+ backupCount=5, # 最多保留 5 个备份文件
53
+ encoding="utf-8" # 防止中文乱码
54
+ )
55
+ file_handler.setFormatter(formatter)
56
+ logger.addHandler(file_handler)
57
+
58
+ _LOG_CONFIGURED = True
59
+
60
+ return logger
61
+
62
+
63
+ # 导出默认 Logger 实例
64
+ logger = get_package_logger()
@@ -0,0 +1,16 @@
1
+ import requests
2
+ from .logging import get_package_logger
3
+
4
+ logger = get_package_logger("utils.requests")
5
+
6
+
7
+ def get(skill_info, url, params=None, **kwargs):
8
+ response = requests.get(url, params=params, **kwargs)
9
+ logger.info(f"response.status_code:{response.status_code}")
10
+ return response
11
+
12
+
13
+ def post(skill_info, url, data=None, json=None, **kwargs):
14
+ response = requests.post(url, data=data, json=json, **kwargs)
15
+ logger.info(f"response.status_code:{response.status_code}")
16
+ return response
@@ -0,0 +1,7 @@
1
+ Metadata-Version: 2.1
2
+ Name: yonbip-skill-utils
3
+ Version: 1.0.1
4
+ Summary: yonbip的技能脚本工具包
5
+ Author-email: yanglih <yanglih@yonyou.com>
6
+ Requires-Python: >=3.8
7
+
@@ -0,0 +1,7 @@
1
+ yonbip_skill_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ yonbip_skill_utils/logging.py,sha256=LJlBZktOGnXJL-yTwhrNwkoFZ4N6SIDkEC9tyA8xSqA,2254
3
+ yonbip_skill_utils/requests.py,sha256=P9cZPNC2Iij8_chLph2tZH3W4KRpxD9f1yRkpu0jqSo,523
4
+ yonbip_skill_utils-1.0.1.dist-info/METADATA,sha256=EcdQLT1QUq2zgn5Oj8HjdqYvnhH2terxfTQKIYHRBRM,176
5
+ yonbip_skill_utils-1.0.1.dist-info/WHEEL,sha256=BNRMDyzLkkcmlv0J8ppDQkk2VED33SesJDynr9ED1gc,91
6
+ yonbip_skill_utils-1.0.1.dist-info/top_level.txt,sha256=AXPz-i7prv-m-JvJ8aN3gLtr0lBKwmW1Monj-CmC0Iw,19
7
+ yonbip_skill_utils-1.0.1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.3.4)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ yonbip_skill_utils