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 json
import sys
from pathlib import Path
import platformdirs
@ -19,7 +18,9 @@ class SoftwareConfig:
def s(self, host, port, proto='tcp'):
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')
@property
@ -27,13 +28,22 @@ class SoftwareConfig:
return self.config_folder / 'software.json'
@property
def data_folder(self):
self.data_folder_.mkdir(exist_ok=True, parents=True)
return self.data_folder_
def log_folder(self):
self.log_folder_.mkdir(exist_ok=True, parents=True)
return self.log_folder_
@data_folder.setter
def data_folder(self, value):
self.data_folder_ = value
@log_folder.setter
def log_folder(self, 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
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):
if dev:
C.config_folder = P.DEV_PROJECT_FOLDER / 'config'
C.log_folder = P.DEV_PROJECT_FOLDER / 'log'
else:
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 / 'Image.py', P.PYQT / 'Image.ui'])
if data_folder is not None:
C.data_folder = Path(data_folder)
C.record_folder = Path(data_folder)
path = Path(path)
if not path.exists():

View File

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

View File

@ -69,7 +69,7 @@ class Adv(QMainWindow, Ui_MainWindow):
self.setupUi(self)
# 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
icon = QtGui.QIcon()

View File

@ -1,3 +1,4 @@
import datetime
import logging
from abc import abstractmethod
@ -49,7 +50,9 @@ class Node:
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)
rootLogger.addHandler(fileHandler)