From a188d6987df6e8d5a3d5a2de96d71644295511ba Mon Sep 17 00:00:00 2001 From: 283375 Date: Wed, 27 Sep 2023 18:36:56 +0800 Subject: [PATCH] impr: logging --- index.py | 34 ++++++++++++++++++++----- ui/extends/components/ocrQueue.py | 2 +- ui/implements/tabs/tabOcr/tabOcr_B30.py | 2 +- 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/index.py b/index.py index 03fc475..aaf5f58 100644 --- a/index.py +++ b/index.py @@ -1,6 +1,8 @@ import logging import sys import traceback +from datetime import datetime +from pathlib import Path from arcaea_offline.database import Database from PySide6.QtCore import QCoreApplication, QLocale @@ -13,18 +15,36 @@ from ui.extends.shared.settings import Settings from ui.implements.mainwindow import MainWindow from ui.startup.databaseChecker import DatabaseChecker, DatabaseCheckerResult -logging.basicConfig( - level=logging.INFO, - stream=sys.stdout, - force=True, - format="[{levelname}]{asctime}|{name}: {msg}", - datefmt="%m-%d %H:%M:%S", - style="{", +rootLogger = logging.getLogger("root") +rootLogger.setLevel(logging.DEBUG) + +rootLoggerFormatter = logging.Formatter( + "[{levelname}]{asctime}|{name}: {msg}", "%m-%d %H:%M:%S", "{" ) + if __name__ == "__main__": QCoreApplication.setApplicationName("Arcaea Offline") + logFolder = (Path(sys.argv[0]).parent / "logs").resolve() + logFolder.mkdir(exist_ok=True) + + now = datetime.now() + ymd = now.strftime("%Y%m%d") + hms = now.strftime("%H%M%S") + + rootLoggerFileHandler = logging.FileHandler( + str(logFolder / f"arcaea-offline-pyside-ui-{ymd}-{hms}_debug.log"), + encoding="utf-8", + ) + rootLoggerFileHandler.setLevel(logging.DEBUG) + rootLoggerFileHandler.setFormatter(rootLoggerFormatter) + rootLogger.addHandler(rootLoggerFileHandler) + rootLoggerStdOutHandler = logging.StreamHandler(sys.stdout) + rootLoggerStdOutHandler.setLevel(logging.INFO) + rootLoggerStdOutHandler.setFormatter(rootLoggerFormatter) + rootLogger.addHandler(rootLoggerStdOutHandler) + app = QApplication(sys.argv) locale = ( QLocale(Settings().language()) if Settings().language() else QLocale.system() diff --git a/ui/extends/components/ocrQueue.py b/ui/extends/components/ocrQueue.py index 4cbfd9e..bf9f92f 100644 --- a/ui/extends/components/ocrQueue.py +++ b/ui/extends/components/ocrQueue.py @@ -222,7 +222,7 @@ class OcrQueueModel(QAbstractListModel): index = self.index(row, 0) imagePath: str = index.data(self.ImagePathRole) qImage: QImage = index.data(self.ImageQImageRole) - logger.info(f"update request: {result}@row{row}") + logger.debug(f"update request: {result}@row{row}") processOcrResultFunc = index.data(self.ProcessOcrResultFuncRole) chart, scoreInsert = processOcrResultFunc(imagePath, qImage, result) diff --git a/ui/implements/tabs/tabOcr/tabOcr_B30.py b/ui/implements/tabs/tabOcr/tabOcr_B30.py index 529671b..37ff12b 100644 --- a/ui/implements/tabs/tabOcr/tabOcr_B30.py +++ b/ui/implements/tabs/tabOcr/tabOcr_B30.py @@ -54,7 +54,7 @@ class TabOcr_B30(Ui_TabOcr_B30, QWidget): self.tryPrepareOcr.connect(self.prepareOcr) - logger.info("Applying default settings...") + logger.info("Applying settings...") self.knnModelSelector.connectSettings(KNN_MODEL_FILE) self.b30KnnModelSelector.connectSettings(B30_KNN_MODEL_FILE) self.phashDatabaseSelector.connectSettings(PHASH_DATABASE_FILE)