Skip to content

Commit

Permalink
feat: Add logging to requester and setup_logging function
Browse files Browse the repository at this point in the history
  • Loading branch information
chyroc committed Sep 28, 2024
1 parent dee597c commit db41184
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
3 changes: 3 additions & 0 deletions cozepy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
DocumentUpdateRule,
DocumentUpdateType,
)
from .log import setup_logging
from .model import (
LastIDPaged,
NumberPaged,
Expand Down Expand Up @@ -117,6 +118,8 @@
"WorkspaceRoleType",
"WorkspaceType",
"Workspace",
# log
"setup_logging",
# config
"COZE_COM_BASE_URL",
"COZE_CN_BASE_URL",
Expand Down
8 changes: 8 additions & 0 deletions cozepy/request.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

from cozepy.config import DEFAULT_CONNECTION_LIMITS, DEFAULT_TIMEOUT
from cozepy.exception import CozeAPIError
from cozepy.log import log_debug, log_warning
from cozepy.version import user_agent

if TYPE_CHECKING:
Expand Down Expand Up @@ -59,6 +60,7 @@ def request(
"""
Send a request to the server.
"""
method = method.upper()
request = self._make_request(
method,
url,
Expand All @@ -67,6 +69,7 @@ def request(
json=body,
files=files,
)
log_debug("request %s#%s sending, params=%s, json=%s, stream=%s", method, url, params, body, stream)
response = self._client.send(request, stream=stream)
if stream:
return response.iter_lines()
Expand All @@ -75,9 +78,14 @@ def request(
code, msg, data = self._parse_requests_code_msg(response, data_field)

if code is not None and code > 0:
log_warning("request %s#%s failed, logid=%s, code=%s, msg=%s", method, url, logid, code, msg)
raise CozeAPIError(code, msg, logid)
elif code is None and msg != "":
log_warning("request %s#%s failed, logid=%s, msg=%s", method, url, logid, msg)
raise CozeAPIError(code, msg, logid)
else:
log_debug("request %s#%s responding, logid=%s, data=%s", method, url, logid, data)

if get_origin(model) is list:
item_model = get_args(model)[0]
return [item_model.model_validate(item) for item in data]
Expand Down

0 comments on commit db41184

Please sign in to comment.