添加set_logger方法

This commit is contained in:
ArnoCher 2022-09-14 11:24:18 +08:00
parent 3f22840334
commit 541c2bc801

View File

@ -14,8 +14,6 @@ from typing import (
Tuple
)
log = logger.get_logger("WeChatInstance")
class ReqData:
__response_message = None
@ -53,6 +51,7 @@ class WeChat:
self.__req_data_cache = {}
self.__msg_event_emitter = pyee.EventEmitter()
self.__login_info = {}
self.__log = logger.get_logger("WeChatInstance")
def on(self, msg_type, f):
return self.__msg_event_emitter.on(str(msg_type), f)
@ -85,17 +84,17 @@ class WeChat:
self.client_id = client_id
def on_recv(self, message):
log.debug("on recv message: %s", message)
self.__log.debug("on recv message: %s", message)
msg_type = message["type"]
extend = message.get("extend", None)
if msg_type == notify_type.MT_USER_LOGIN_MSG:
self.login_status = True
self.__wait_login_event.set()
self.__login_info = message.get("data", {})
log.info("login success, wxid: %s, nickname: %s", self.__login_info["wxid"], self.__login_info["nickname"])
self.__log.info("login success, wxid: %s, nickname: %s", self.__login_info["wxid"], self.__login_info["nickname"])
elif msg_type == notify_type.MT_USER_LOGOUT_MSG:
self.login_status = False
log.info("logout, pid: %d", self.pid)
self.__log.info("logout, pid: %d", self.pid)
if extend is not None and extend in self.__req_data_cache:
req_data = self.__req_data_cache[extend]
@ -106,21 +105,21 @@ class WeChat:
self.__msg_event_emitter.emit(str(notify_type.MT_ALL), self, message)
def wait_login(self, timeout=None):
log.info("wait login...")
self.__log.info("wait login...")
self.__wait_login_event.wait(timeout)
def open(self, smart=False):
self.pid = wcprobe.open(smart)
log.info("open wechat pid: %d", self.pid)
self.__log.info("open wechat pid: %d", self.pid)
return self.pid != 0
def attach(self, pid: int):
self.pid = pid
log.info("attach wechat pid: %d", self.pid)
self.__log.info("attach wechat pid: %d", self.pid)
return wcprobe.attach(pid)
def detach(self):
log.info("detach wechat pid: %d", self.pid)
self.__log.info("detach wechat pid: %d", self.pid)
return wcprobe.detach(self.pid)
def __send(self, msg_type, data=None, extend=None):
@ -134,7 +133,7 @@ class WeChat:
if extend is not None:
message["extend"] = extend
message_json = json.dumps(message)
log.debug("communicate wechat pid: %d, data: %s", self.pid, message)
self.__log.debug("communicate wechat pid: %d, data: %s", self.pid, message)
return wcprobe.send(self.client_id, message_json)
def __send_sync(self, msg_type, data=None, timeout=10):
@ -153,6 +152,12 @@ class WeChat:
def __repr__(self):
return f"WeChatInstance(pid: {self.pid}, client_id: {self.client_id})"
def set_logger(self, enabled: bool):
"""
设置log是否显示
"""
self.__log.disabled = not enabled
def sql_query(self, sql: str, db: int):
"""
数据库查询