sanic-api 0.4.2__tar.gz → 0.5.0__tar.gz
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.
- {sanic_api-0.4.2 → sanic_api-0.5.0}/PKG-INFO +1 -1
- {sanic_api-0.4.2 → sanic_api-0.5.0}/pyproject.toml +1 -1
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/__init__.py +1 -1
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/app.py +2 -1
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/config/setting.py +4 -1
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/logger/extension.py +11 -5
- {sanic_api-0.4.2 → sanic_api-0.5.0}/.gitignore +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/LICENSE.txt +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/README.md +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/api/__init__.py +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/api/error.py +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/api/model.py +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/api/request.py +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/config/__init__.py +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/logger/__init__.py +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/logger/config.py +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/openapi/__init__.py +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/openapi/extension.py +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/utils/__init__.py +0 -0
- {sanic_api-0.4.2 → sanic_api-0.5.0}/src/sanic_api/utils/enum.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: sanic-api
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.5.0
|
4
4
|
Summary: Sanic 框架实用API工具集,拥有自动生成文档、参数校验、配置的导入、日志功能的优化等功能,更好的助力接口的开发
|
5
5
|
Project-URL: homepage, https://github.com/x-haose/sanic-api
|
6
6
|
Project-URL: repository, https://github.com/x-haose/sanic-api
|
@@ -224,8 +224,9 @@ class BaseApp:
|
|
224
224
|
loki_url=log_config.loki_url,
|
225
225
|
loki_labels={
|
226
226
|
"application": self.name,
|
227
|
-
"envornment": self.settings.
|
227
|
+
"envornment": self.settings.env,
|
228
228
|
},
|
229
|
+
log_in_json=log_config.log_in_json,
|
229
230
|
)
|
230
231
|
Extend.register(log_ext)
|
231
232
|
|
@@ -36,6 +36,9 @@ class LoggerSettings(BaseModel):
|
|
36
36
|
# loji的地址。如果存在,则会把日志推送给logki
|
37
37
|
loki_url: HttpUrl | None = Field(default=None)
|
38
38
|
|
39
|
+
# 日志是否以json形式打印
|
40
|
+
log_in_json: bool | None = Field(default=None)
|
41
|
+
|
39
42
|
|
40
43
|
class JsonRespSettings(BaseModel):
|
41
44
|
"""
|
@@ -87,7 +90,7 @@ class DefaultSettings(SettingsBase):
|
|
87
90
|
|
88
91
|
# 运行环境,仅作为环境标识。
|
89
92
|
# 尽量不要使用这个字段去做逻辑判断。请使用mode去进行判断,因为测试环境、预发布环境、生产环境都应属于生产模式模式
|
90
|
-
|
93
|
+
env: str = Field(default="dev")
|
91
94
|
|
92
95
|
# 自动重载。生产模式强制关闭
|
93
96
|
auto_reload: bool = Field(default=False)
|
@@ -33,6 +33,7 @@ class LoggerExtend(Extension):
|
|
33
33
|
compression: str | None = None,
|
34
34
|
loki_url: str | None = None,
|
35
35
|
loki_labels: dict[str, str] | None = None,
|
36
|
+
log_in_json: bool = False,
|
36
37
|
):
|
37
38
|
"""
|
38
39
|
Args:
|
@@ -43,6 +44,7 @@ class LoggerExtend(Extension):
|
|
43
44
|
compression: 日志文件压缩格式: "gz", "bz2", "xz", "lzma", "tar", "tar.gz", "tar.bz2", "tar.xz", "zip"
|
44
45
|
loki_url: 推送loki的url
|
45
46
|
loki_labels:loki推送时的标签
|
47
|
+
log_in_json: 日志是否以json形式打印
|
46
48
|
|
47
49
|
"""
|
48
50
|
self.app = app
|
@@ -52,6 +54,7 @@ class LoggerExtend(Extension):
|
|
52
54
|
self.compression = compression
|
53
55
|
self.loki_url = loki_url
|
54
56
|
self.loki_labels = loki_labels
|
57
|
+
self.log_in_json: bool = log_in_json
|
55
58
|
self.setup()
|
56
59
|
|
57
60
|
def startup(self, bootstrap) -> None:
|
@@ -84,9 +87,12 @@ class LoggerExtend(Extension):
|
|
84
87
|
)
|
85
88
|
|
86
89
|
# 基本的控制台输出
|
87
|
-
|
88
|
-
{"sink": sys.stdout, "
|
89
|
-
|
90
|
+
if self.log_in_json:
|
91
|
+
log_handlers = [{"sink": sys.stdout, "serialize": True}]
|
92
|
+
else:
|
93
|
+
log_handlers = [
|
94
|
+
{"sink": sys.stdout, "format": log_format, "colorize": True},
|
95
|
+
]
|
90
96
|
|
91
97
|
# 日志文件输出
|
92
98
|
if self.log_file:
|
@@ -109,9 +115,9 @@ class LoggerExtend(Extension):
|
|
109
115
|
loki_handler = LokiLoggerHandler(
|
110
116
|
url=self.loki_url,
|
111
117
|
labels=self.loki_labels or {},
|
112
|
-
|
118
|
+
label_keys={},
|
113
119
|
timeout=10,
|
114
|
-
|
120
|
+
default_formatter=LoguruFormatter(),
|
115
121
|
)
|
116
122
|
log_handlers.append(
|
117
123
|
{
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|