如何屏蔽第三方库记录的日志?
才接触python没几天,请教一下如何屏蔽第三方库的日志。
我之前写过一个文件,里面引用了 httpx 库,通过网上和GPT最终用如下方式成功的设置了日志级别
# 屏蔽httpx的日志
logging.getLogger("httpx").setLevel(logging.ERROR)
但是我昨天重新写了个文件,用的另一个第三方库,试过上面类似的方法但是不行
import time
import os
from pathlib import Path
from dotenv import load_dotenv
from okx.websocket.WsPrivate import WsPrivate
import logging
import datetime
from twisted.logger import LogLevel
# 屏蔽ws的日志,下面这两行都不起作用
# logging.getLogger("WsPrivate").setLevel(logging.ERROR)
# logging.getLogger("WsClientFactory").setLevel(logging.ERROR)
我的第三方库是 python-okx 0.2.1
完整代码如下,没啥内容,主要就是引用一个库,然后根据官方示例建立ws连接,但是他有个心跳包,一直输出:WsClientProtocol execute onPong
import time
import os
from pathlib import Path
from dotenv import load_dotenv
from okx.websocket.WsPrivate import WsPrivate
import logging
import datetime
from twisted.logger import LogLevel
# 屏蔽ws的日志
# logging.getLogger("WsPrivate").setLevel(logging.ERROR)
# logging.getLogger("WsClientFactory").setLevel(logging.ERROR)
# 获取当前日期
current_date = datetime.datetime.now().strftime("%Y-%m-%d")
# 配置日志输出到文件
log_file = f"log/{current_date}.log"
logging.basicConfig(filename=log_file, level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
# 沙盒环境
SANDBOX = '0'
if SANDBOX == '1':
dotenv_path = Path('./.develop.env')
load_dotenv(dotenv_path=dotenv_path)
else:
load_dotenv()
api_key = os.getenv('OKX_API_KEY')
secret_key = os.getenv('OKX_SECRET_KEY')
passphrase = os.getenv('OKX_PASSPHRASE')
ws_public = os.getenv('OKX_WS_PUBLIC')
ws_private = os.getenv('OKX_WS_PRIVATE')
def private_callback(message):
logging.info(f"{message}")
print("WsPrivate subscribe callback:", message)
if __name__ == '__main__':
print(ws_private)
ws = WsPrivate(apiKey=api_key,
passphrase=passphrase,
secretKey=secret_key,
url=ws_private,
useServerTime=False)
ws.start()
args = []
# arg1 = {"channel": "account", "instType": "BTC"} # 账户频道
arg2 = {"channel": "orders", "instType": "ANY"} # 订单频道
# arg3 = {"channel": "balance_and_position"} # 账户余额和持仓频道
# args.append(arg1)
args.append(arg2)
# args.append(arg3)
ws.subscribe(args, callback=private_callback)
输出日志的位置如下:
请教:
如何能手动调整第三方库的日志记录级别,
如果我不想让第三方库记日志该怎么处理,有没有办法对它自定义设置,比如标记出第三方库记录的