Merge branch 'model_logger' into UI_2.0
This commit is contained in:
11
config.py
11
config.py
@@ -442,6 +442,16 @@ class Config:
|
||||
self._SELECTED_TAB_TARGET_LANGUAGES = value
|
||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||
|
||||
@property
|
||||
def ENABLE_LOGGER(self):
|
||||
return self._ENABLE_LOGGER
|
||||
|
||||
@ENABLE_LOGGER.setter
|
||||
def ENABLE_LOGGER(self, value):
|
||||
if type(value) is bool:
|
||||
self._ENABLE_LOGGER = value
|
||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||
|
||||
# Config Window
|
||||
@property
|
||||
def IS_CONFIG_WINDOW_COMPACT_MODE(self):
|
||||
@@ -515,6 +525,7 @@ class Config:
|
||||
"2":"English\n(United States)",
|
||||
"3":"English\n(United States)",
|
||||
}
|
||||
self._ENABLE_LOGGER = False
|
||||
|
||||
# Config Window
|
||||
self._IS_CONFIG_WINDOW_COMPACT_MODE = False
|
||||
|
||||
10
main.py
10
main.py
@@ -31,6 +31,8 @@ def sendMicMessage(message):
|
||||
view.printToTextbox_OSCError()
|
||||
|
||||
view.printToTextbox_SentMessage(message, translation)
|
||||
if config.ENABLE_LOGGER is True:
|
||||
model.logger.info(f"[SEND] {message} ({translation})")
|
||||
|
||||
def startTranscriptionSendMessage():
|
||||
model.startMicTranscript(sendMicMessage)
|
||||
@@ -57,6 +59,8 @@ def receiveSpeakerMessage(message):
|
||||
xsoverlay_message = xsoverlay_message.replace("[translation]", translation)
|
||||
model.notificationXSOverlay(xsoverlay_message)
|
||||
view.printToTextbox_ReceivedMessage(message, translation)
|
||||
if config.ENABLE_LOGGER is True:
|
||||
model.logger.info(f"[RECEIVE] {message} ({translation})")
|
||||
|
||||
def startTranscriptionReceiveMessage():
|
||||
model.startSpeakerTranscript(receiveSpeakerMessage)
|
||||
@@ -90,6 +94,8 @@ def sendChatMessage(message):
|
||||
|
||||
# update textbox message log
|
||||
view.printToTextbox_SentMessage(message, translation)
|
||||
if config.ENABLE_LOGGER is True:
|
||||
model.logger.info(f"[SEND] {message} ({translation})")
|
||||
|
||||
# delete message in entry message box
|
||||
if config.ENABLE_AUTO_CLEAR_MESSAGE_BOX is True:
|
||||
@@ -359,6 +365,10 @@ model.checkOSCStarted()
|
||||
# check Software Updated
|
||||
model.checkSoftwareUpdated()
|
||||
|
||||
# init logger
|
||||
if config.ENABLE_LOGGER is True:
|
||||
model.startLogger()
|
||||
|
||||
# set UI and callback
|
||||
view.register(
|
||||
sidebar_features={
|
||||
|
||||
19
model.py
19
model.py
@@ -1,3 +1,6 @@
|
||||
from os import makedirs
|
||||
from datetime import datetime
|
||||
from logging import getLogger, FileHandler, Formatter, INFO
|
||||
from time import sleep
|
||||
from queue import Queue
|
||||
from threading import Thread, Event
|
||||
@@ -49,6 +52,7 @@ class Model:
|
||||
return cls._instance
|
||||
|
||||
def init(self):
|
||||
self.logger = None
|
||||
self.mic_energy_recorder = None
|
||||
self.mic_energy_plot_progressbar = None
|
||||
self.speaker_energy_get_progressbar = None
|
||||
@@ -77,6 +81,21 @@ class Model:
|
||||
config.AUTH_KEYS = auth_keys
|
||||
return result
|
||||
|
||||
def startLogger(self):
|
||||
makedirs("./logs", exist_ok=True)
|
||||
logger = getLogger()
|
||||
logger.setLevel(INFO)
|
||||
file_name = f"./logs/{datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}.log"
|
||||
file_handler = FileHandler(file_name, encoding="utf-8", delay=True)
|
||||
formatter = Formatter("[%(asctime)s] %(message)s")
|
||||
file_handler.setFormatter(formatter)
|
||||
logger.addHandler(file_handler)
|
||||
self.logger = logger
|
||||
|
||||
def stopLogger(self):
|
||||
self.logger.disabled = True
|
||||
self.logger = None
|
||||
|
||||
@staticmethod
|
||||
def getListLanguageAndCountry():
|
||||
langs = []
|
||||
|
||||
Reference in New Issue
Block a user