bgg35-50
This commit is contained in:
@ -35,6 +35,7 @@ class Logger(QObject):
|
||||
self.pre_message = ''
|
||||
self.lock = threading.Lock() # 创建锁
|
||||
self.log_queue = queue.Queue()
|
||||
self._running = True # 线程运行标志
|
||||
self.logger_thread = threading.Thread(target=self._process_logs, daemon=True,name="util_log")
|
||||
self.logger_thread.start()
|
||||
|
||||
@ -65,21 +66,27 @@ class Logger(QObject):
|
||||
self.logger_file_info.addHandler(error_handler)
|
||||
|
||||
def _process_logs(self):
|
||||
while True:
|
||||
time.sleep(0.1)
|
||||
level, message = self.log_queue.get()
|
||||
if level == logging.INFO:
|
||||
self.log_info_signal.emit(message)
|
||||
# self.logger_textEdit_info.info(message)
|
||||
self.logger_file_info.info(message)
|
||||
elif level == logging.ERROR:
|
||||
# self.logger_textEdit_info.error(message)
|
||||
self.logger_file_info.error(message)
|
||||
# self.logger_textEdit_warning.error(message)
|
||||
self.log_error_signal.emit(message)
|
||||
elif level == logging.WARNING:
|
||||
self.logger_file_info.warning(message)
|
||||
self.log_warning_signal.emit(message)
|
||||
while self._running:
|
||||
try:
|
||||
item = self.log_queue.get(timeout=0.5)
|
||||
level, message = item
|
||||
|
||||
if level == logging.INFO:
|
||||
self.log_info_signal.emit(message)
|
||||
# self.logger_textEdit_info.info(message)
|
||||
self.logger_file_info.info(message)
|
||||
elif level == logging.ERROR:
|
||||
# self.logger_textEdit_info.error(message)
|
||||
self.logger_file_info.error(message)
|
||||
# self.logger_textEdit_warning.error(message)
|
||||
self.log_error_signal.emit(message)
|
||||
elif level == logging.WARNING:
|
||||
self.logger_file_info.warning(message)
|
||||
self.log_warning_signal.emit(message)
|
||||
except queue.Empty:
|
||||
continue
|
||||
except RuntimeError:
|
||||
break
|
||||
def log_message(self,level,message):
|
||||
self.log_queue.put((level, message))
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user