diff --git a/main.py b/main.py index 7e049c3f..e830b054 100644 --- a/main.py +++ b/main.py @@ -33,7 +33,9 @@ def sendMicMessage(message): view.printToTextbox_SentMessage(message, translation) if config.ENABLE_LOGGER is True: - model.logger.info(f"[SEND] {message} ({translation})") + if len(translation) > 0: + translation = f" ({translation})" + model.logger.info(f"[SEND] {message}{translation}") def startTranscriptionSendMessage(): model.startMicTranscript(sendMicMessage) @@ -61,7 +63,9 @@ def receiveSpeakerMessage(message): model.notificationXSOverlay(xsoverlay_message) view.printToTextbox_ReceivedMessage(message, translation) if config.ENABLE_LOGGER is True: - model.logger.info(f"[RECEIVE] {message} ({translation})") + if len(translation) > 0: + translation = f" ({translation})" + model.logger.info(f"[RECEIVE] {message}{translation}") def startTranscriptionReceiveMessage(): model.startSpeakerTranscript(receiveSpeakerMessage) @@ -97,7 +101,9 @@ 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})") + if len(translation) > 0: + translation = f" ({translation})" + model.logger.info(f"[SEND] {message}{translation}") # delete message in entry message box if config.ENABLE_AUTO_CLEAR_MESSAGE_BOX is True: @@ -386,6 +392,15 @@ def callbackSetEnableNoticeXsoverlay(value): print("callbackSetEnableNoticeXsoverlay", value) config.ENABLE_NOTICE_XSOVERLAY = value +def callbackSetEnableAutoExportMessageLogs(value): + print("callbackSetEnableAutoExportMessageLogs", value) + config.ENABLE_LOGGER = value + + if config.ENABLE_LOGGER is True: + model.startLogger() + else: + model.stopLogger() + def callbackSetMessageFormat(value): print("callbackSetMessageFormat", value) if len(value) > 0: @@ -487,6 +502,7 @@ view.register( # Others Tab "callback_set_enable_auto_clear_chatbox": callbackSetEnableAutoClearMessageBox, "callback_set_enable_notice_xsoverlay": callbackSetEnableNoticeXsoverlay, + "callback_set_enable_auto_export_message_logs": callbackSetEnableAutoExportMessageLogs, "callback_set_message_format": callbackSetMessageFormat, # Advanced Settings Tab diff --git a/model.py b/model.py index 6eb1e5a6..559306de 100644 --- a/model.py +++ b/model.py @@ -1,4 +1,6 @@ +import sys from os import makedirs +from os import path as os_path from datetime import datetime from logging import getLogger, FileHandler, Formatter, INFO from time import sleep @@ -82,15 +84,16 @@ class Model: return result def startLogger(self): - makedirs("./logs", exist_ok=True) + makedirs(os_path.join(os_path.dirname(sys.argv[0]), "logs"), exist_ok=True) logger = getLogger() logger.setLevel(INFO) - file_name = f"./logs/{datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}.log" + file_name = os_path.join(os_path.dirname(sys.argv[0]), "logs", f"{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 + self.logger.disabled = False def stopLogger(self): self.logger.disabled = True