我仍在研究 Loguru,但我找不到简单的方法来做到这一点。我想使用 Loguru 的默认选项,我相信它们很棒,但我想向其中添加信息,我想添加将被记录的请求的 IP。
如果我尝试这个:
import sys
from loguru import logger
logger.info("This is log info!")
# This is directle from Loguru page
logger.add(sys.stderr, format="{extra[ip]} {extra[user]} {message}")
context_logger = logger.bind(ip="192.168.0.1", user="someone")
context_logger.info("Contextualize your logger easily")
context_logger.bind(user="someone_else").info("Inline binding of extra attribute")
context_logger.info("Use kwargs to add context during formatting: {user}", user="anybody")
Run Code Online (Sandbox Code Playgroud)
我知道logger.remove(0)
我将删除默认日志,但我想用它来获取类似这样的内容:2022-02-03 15:16:54.920 | INFO | __main__:<module>:79 - XXX.XXX.XX.X - Use kwargs to add context during formatting: anybody
,其中 XXX.XXX.XX.X 是 IP。使用默认配置(用于颜色和其他内容)并在格式中添加一些内容。
我正在尝试访问默认配置,但无法导入它们并将它们与logger.add
. 我想我必须从头开始配置一切。
希望有人能帮助我,谢谢。
我在使用 Whatsapp Cloud API(已于 5 月 22 日向公众发布)时遇到问题。我在“设置开发人员资产和平台访问”部分中完成了入门中的所有操作,这样我就能够在 Ubuntu 20.04.4 LTS 中使用以下命令发送模板hello world :
curl -i -X POST \
https://graph.facebook.com/v14.0/my_number/messages \
-H 'Authorization: Bearer my_token' \
-H 'Content-Type: application/json' \
-d '{ "messaging_product": "whatsapp",
"to": "my_reciever",
"type": "template",
"template": { "name": "hello_world", "language": { "code": "en_US" } }
}'
Run Code Online (Sandbox Code Playgroud)
或者使用Python 3.10和requests 2.27.1:
from requests import Session
import json
from requests.exceptions import ConnectionError, Timeout, TooManyRedirects
BASE_URL = "https://graph.facebook.com/"
API_VERSION = "v13.0/"
SENDER = …
Run Code Online (Sandbox Code Playgroud)