add log folder

This commit is contained in:
flandre 2025-05-11 17:46:45 +08:00
parent e87b95ba3a
commit f1be3acabf
5 changed files with 26 additions and 12 deletions

View File

@ -1,6 +1,5 @@
import dataclasses import dataclasses
import json import json
import sys
from pathlib import Path from pathlib import Path
import platformdirs import platformdirs
@ -19,7 +18,9 @@ class SoftwareConfig:
def s(self, host, port, proto='tcp'): def s(self, host, port, proto='tcp'):
return f'{proto}://{host}:{port}' return f'{proto}://{host}:{port}'
data_folder_: Path = platformdirs.user_data_path('Flandre', 'Scarlet') / 'record' data_folder: Path = platformdirs.user_data_path('Flandre', 'Scarlet')
record_folder_: Path = data_folder / 'record'
log_folder_: Path = data_folder / 'log'
config_folder: Path = platformdirs.user_config_path('Flandre', 'Scarlet') config_folder: Path = platformdirs.user_config_path('Flandre', 'Scarlet')
@property @property
@ -27,13 +28,22 @@ class SoftwareConfig:
return self.config_folder / 'software.json' return self.config_folder / 'software.json'
@property @property
def data_folder(self): def log_folder(self):
self.data_folder_.mkdir(exist_ok=True, parents=True) self.log_folder_.mkdir(exist_ok=True, parents=True)
return self.data_folder_ return self.log_folder_
@data_folder.setter @log_folder.setter
def data_folder(self, value): def log_folder(self, value):
self.data_folder_ = value self.log_folder_ = value
@property
def record_folder(self):
self.record_folder_.mkdir(exist_ok=True, parents=True)
return self.record_folder_
@record_folder.setter
def record_folder(self, value):
self.record_folder_ = value
@property @property
def imaging_config_folder(self): def imaging_config_folder(self):

View File

@ -116,6 +116,7 @@ def launch_from_file(file: Path):
def entrypoint(data_folder, generate_pyqt, dev, path): def entrypoint(data_folder, generate_pyqt, dev, path):
if dev: if dev:
C.config_folder = P.DEV_PROJECT_FOLDER / 'config' C.config_folder = P.DEV_PROJECT_FOLDER / 'config'
C.log_folder = P.DEV_PROJECT_FOLDER / 'log'
else: else:
C.read_config(C.software_config_file) C.read_config(C.software_config_file)
@ -126,7 +127,7 @@ def entrypoint(data_folder, generate_pyqt, dev, path):
subprocess.run([pyuic6, '-o', P.PYQT / 'Main.py', P.PYQT / 'Main.ui']) subprocess.run([pyuic6, '-o', P.PYQT / 'Main.py', P.PYQT / 'Main.ui'])
subprocess.run([pyuic6, '-o', P.PYQT / 'Image.py', P.PYQT / 'Image.ui']) subprocess.run([pyuic6, '-o', P.PYQT / 'Image.py', P.PYQT / 'Image.ui'])
if data_folder is not None: if data_folder is not None:
C.data_folder = Path(data_folder) C.record_folder = Path(data_folder)
path = Path(path) path = Path(path)
if not path.exists(): if not path.exists():

View File

@ -48,7 +48,7 @@ class Loader(Node):
if not seq_list: if not seq_list:
logger.warning(f'No sequences found in {base}') logger.warning(f'No sequences found in {base}')
else: else:
C.data_folder = base C.record_folder = base
C.write_config() C.write_config()
self.send(PlaybackSeqListMsg(seq_list)) self.send(PlaybackSeqListMsg(seq_list))
elif isinstance(msg, KillMsg): elif isinstance(msg, KillMsg):

View File

@ -69,7 +69,7 @@ class Adv(QMainWindow, Ui_MainWindow):
self.setupUi(self) self.setupUi(self)
# set default folder # set default folder
self.l_base.setText(C.data_folder.__str__()) self.l_base.setText(C.record_folder.__str__())
self.device_switch_state: LinkStatus = LinkStatus.RED self.device_switch_state: LinkStatus = LinkStatus.RED
icon = QtGui.QIcon() icon = QtGui.QIcon()

View File

@ -1,3 +1,4 @@
import datetime
import logging import logging
from abc import abstractmethod from abc import abstractmethod
@ -49,7 +50,9 @@ class Node:
logFormatter = logging.Formatter(FORMAT, datefmt='%Y-%m-%d %H:%M:%S', ) logFormatter = logging.Formatter(FORMAT, datefmt='%Y-%m-%d %H:%M:%S', )
fileHandler = logging.FileHandler("log.log") log_file = flandre.C.log_folder / datetime.datetime.today().strftime('%Y-%m-%d.log')
print(log_file)
fileHandler = logging.FileHandler(log_file)
fileHandler.setFormatter(logFormatter) fileHandler.setFormatter(logFormatter)
rootLogger.addHandler(fileHandler) rootLogger.addHandler(fileHandler)