From 3ec2bc011bbcc6cdcecd68d8c6c242349f8c119a Mon Sep 17 00:00:00 2001 From: David Perl Date: Mon, 6 Jul 2026 16:27:08 +0200 Subject: [PATCH] feat: add hostname+user to gui logs --- .zed/debug.json | 9 +++++++++ src/aare/gui/auth.py | 4 +++- src/aare/gui/constants.py | 10 ++++++++++ src/aare/gui/gui.py | 3 ++- src/aare/gui/main_window.py | 4 +++- src/aare/gui/panels/automation_panel.py | 4 +++- src/aare/gui/panels/face_detection_panel.py | 3 ++- src/aare/gui/panels/fluorescence_panel.py | 4 +++- src/aare/gui/panels/local_contact_panel.py | 3 ++- src/aare/gui/panels/portrait_mode.py | 5 +++-- src/aare/gui/panels/prediction_metrics_panel.py | 4 +++- src/aare/gui/panels/raster_data_collection.py | 3 ++- src/aare/gui/panels/reference_tools_panel.py | 3 ++- src/aare/gui/panels/rotation_data_collection.py | 3 ++- src/aare/gui/panels/sample_queue_panel.py | 3 ++- src/aare/gui/panels/scan_settings_panel.py | 3 ++- src/aare/gui/panels/smart_rotation_panel.py | 3 ++- src/aare/gui/panels/target_stability_panel.py | 4 +++- src/aare/gui/panels/tell_sample_panel.py | 3 ++- src/aare/gui/scan_logic/raster_grid_manager.py | 4 +++- src/aare/gui/threads/daq_worker.py | 4 +++- src/aare/gui/threads/prediction_subscriber.py | 4 +++- src/aare/gui/widgets/alert_banner.py | 4 +++- src/aare/gui/widgets/camera_image.py | 3 ++- src/aare/gui/widgets/message_box.py | 4 +++- src/aare/gui/widgets/status_bar.py | 3 ++- 26 files changed, 79 insertions(+), 25 deletions(-) create mode 100644 .zed/debug.json create mode 100644 src/aare/gui/constants.py diff --git a/.zed/debug.json b/.zed/debug.json new file mode 100644 index 00000000..781f00f9 --- /dev/null +++ b/.zed/debug.json @@ -0,0 +1,9 @@ +[ + { + "label": "Python Active File", + "adapter": "Debugpy", + "program": "$ZED_FILE", + "request": "launch", + "justMyCode": false, + }, +] diff --git a/src/aare/gui/auth.py b/src/aare/gui/auth.py index 5b7a9522..235d0cd5 100644 --- a/src/aare/gui/auth.py +++ b/src/aare/gui/auth.py @@ -6,7 +6,9 @@ from aarecommon.config.logger import setup_logger from aarecommon.models.auth import get_user from aarecommon.models.models import TokenData -logger = setup_logger("aareGUI") +from aare.gui.constants import LOGGER_NAME + +logger = setup_logger(LOGGER_NAME) def auth(base_url: str | None, cert_path: str | None) -> str: diff --git a/src/aare/gui/constants.py b/src/aare/gui/constants.py new file mode 100644 index 00000000..9697a10f --- /dev/null +++ b/src/aare/gui/constants.py @@ -0,0 +1,10 @@ +import getpass +import socket + + +def _try_clean_hostname(raw_name: str) -> str: + return raw_name.removesuffix(".psi.ch") + + +CLEAN_HOSTNAME = _try_clean_hostname(socket.gethostname()) +LOGGER_NAME = f"AareGUI: {CLEAN_HOSTNAME} - {getpass.getuser()}" diff --git a/src/aare/gui/gui.py b/src/aare/gui/gui.py index 7475f30b..bd103da2 100644 --- a/src/aare/gui/gui.py +++ b/src/aare/gui/gui.py @@ -10,10 +10,11 @@ from PySide6.QtCore import QCommandLineOption, QCommandLineParser from PySide6.QtWidgets import QApplication, QMessageBox from aare.gui.auth import auth +from aare.gui.constants import LOGGER_NAME from aare.gui.main_window import MainWindow from aare.gui.widgets.splash_screen import LoadingSplashScreen -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) def main(): diff --git a/src/aare/gui/main_window.py b/src/aare/gui/main_window.py index ca99bb70..30603679 100644 --- a/src/aare/gui/main_window.py +++ b/src/aare/gui/main_window.py @@ -27,6 +27,8 @@ from PySide6.QtWidgets import ( QWidget, ) +from aare.gui.constants import LOGGER_NAME + # Gui Models from aare.gui.models.gui_state_manager import UIStateManager from aare.gui.panels.automation_panel import AutomationProgressWidget @@ -84,7 +86,7 @@ from aare.gui.widgets.no_wheel_scroll_area import NoWheelScrollArea from aare.gui.widgets.status_bar import StatusBar from aare.gui.widgets.video_image import VideoGraphicsView -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) class MainWindow(QMainWindow): diff --git a/src/aare/gui/panels/automation_panel.py b/src/aare/gui/panels/automation_panel.py index e1b95266..e5bcf9cf 100644 --- a/src/aare/gui/panels/automation_panel.py +++ b/src/aare/gui/panels/automation_panel.py @@ -9,7 +9,9 @@ from aarecommon.models.automation import AutomationProgress, StepStatus, Workflo from PySide6.QtCore import QTimer, Slot from PySide6.QtWidgets import QLabel, QVBoxLayout, QWidget -logger = setup_logger("aareGUI") +from aare.gui.constants import LOGGER_NAME + +logger = setup_logger(LOGGER_NAME) class AutomationProgressWidget(QWidget): diff --git a/src/aare/gui/panels/face_detection_panel.py b/src/aare/gui/panels/face_detection_panel.py index 6f174662..46c949f7 100644 --- a/src/aare/gui/panels/face_detection_panel.py +++ b/src/aare/gui/panels/face_detection_panel.py @@ -5,10 +5,11 @@ from matplotlib.figure import Figure from PySide6.QtCore import Signal from PySide6.QtWidgets import QGridLayout, QLabel, QPushButton, QVBoxLayout, QWidget +from aare.gui.constants import LOGGER_NAME from aare.gui.widgets.number_line_edit import NumberLineEdit from aare.gui.widgets.title_label import TitleLabel -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) class FaceDetectionPanel(QWidget): diff --git a/src/aare/gui/panels/fluorescence_panel.py b/src/aare/gui/panels/fluorescence_panel.py index fb83d5e5..e1304508 100644 --- a/src/aare/gui/panels/fluorescence_panel.py +++ b/src/aare/gui/panels/fluorescence_panel.py @@ -6,7 +6,9 @@ from PySide6.QtCore import QEvent, QPointF, Qt, Slot from PySide6.QtGui import QColor, QPainter, QPen from PySide6.QtWidgets import QGraphicsSimpleTextItem, QGridLayout, QLabel, QWidget -logger = setup_logger("aareGUI") +from aare.gui.constants import LOGGER_NAME + +logger = setup_logger(LOGGER_NAME) class FluorescencePanel(QWidget): diff --git a/src/aare/gui/panels/local_contact_panel.py b/src/aare/gui/panels/local_contact_panel.py index 58e536da..52716c54 100644 --- a/src/aare/gui/panels/local_contact_panel.py +++ b/src/aare/gui/panels/local_contact_panel.py @@ -25,13 +25,14 @@ from PySide6.QtWidgets import ( QWidget, ) +from aare.gui.constants import LOGGER_NAME from aare.gui.panels.beamline_recovery_panel import RecoveryPanel from aare.gui.threads.daq_worker import DAQWorker from aare.gui.widgets.local_contact_status_widget import LocalContactStatusWidget from aare.gui.widgets.text_list_dialog import TextListDialog from aare.gui.widgets.title_label import TitleLabel -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) class LocalContactPanel(QFrame): diff --git a/src/aare/gui/panels/portrait_mode.py b/src/aare/gui/panels/portrait_mode.py index 987fc78d..43adf8f7 100644 --- a/src/aare/gui/panels/portrait_mode.py +++ b/src/aare/gui/panels/portrait_mode.py @@ -1,6 +1,5 @@ from __future__ import annotations - from aarecommon.config.logger import setup_logger from aarecommon.models.automation import AutomationProgress, StepStatus, WorkflowStateKind from PySide6.QtCore import QPointF, QRectF, Qt, QTimer, Signal, Slot @@ -18,7 +17,9 @@ from PySide6.QtWidgets import ( QWidget, ) -logger = setup_logger("aareGUI") +from aare.gui.constants import LOGGER_NAME + +logger = setup_logger(LOGGER_NAME) # --------------------------------------------------------------------------- # Colour palette (kept identical to gui_designer.py) diff --git a/src/aare/gui/panels/prediction_metrics_panel.py b/src/aare/gui/panels/prediction_metrics_panel.py index 7ac54152..906ab9b9 100644 --- a/src/aare/gui/panels/prediction_metrics_panel.py +++ b/src/aare/gui/panels/prediction_metrics_panel.py @@ -40,7 +40,9 @@ from PySide6.QtWidgets import ( QWidget, ) -logger = setup_logger("aareGUI") +from aare.gui.constants import LOGGER_NAME + +logger = setup_logger(LOGGER_NAME) # ───────────────────────────────────────────────────────────────────────────── diff --git a/src/aare/gui/panels/raster_data_collection.py b/src/aare/gui/panels/raster_data_collection.py index 4027317a..3ff854fe 100644 --- a/src/aare/gui/panels/raster_data_collection.py +++ b/src/aare/gui/panels/raster_data_collection.py @@ -12,12 +12,13 @@ from PySide6.QtWidgets import ( QSpacerItem, ) +from aare.gui.constants import LOGGER_NAME from aare.gui.panels.scan_settings_panel import ScanSettingsPanel from aare.gui.scan_logic.raster_grid_manager import RasterGridManager, RasterGridMetric from aare.gui.widgets.number_line_edit import DbOverrideLineEdit from aare.gui.widgets.raster_grid_table import RasterGridTable -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) # TODO prevent raster if no grid, or at least rpevent smargon from doing danngerous move to 0,0,0!!! diff --git a/src/aare/gui/panels/reference_tools_panel.py b/src/aare/gui/panels/reference_tools_panel.py index ba85b143..c4d9c467 100644 --- a/src/aare/gui/panels/reference_tools_panel.py +++ b/src/aare/gui/panels/reference_tools_panel.py @@ -16,9 +16,10 @@ from PySide6.QtWidgets import ( QTableView, ) +from aare.gui.constants import LOGGER_NAME from aare.gui.widgets.title_label import TitleLabel -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) def get_entry(sample: SampleShortInfo, column: int): diff --git a/src/aare/gui/panels/rotation_data_collection.py b/src/aare/gui/panels/rotation_data_collection.py index cf2d2b29..81dae846 100644 --- a/src/aare/gui/panels/rotation_data_collection.py +++ b/src/aare/gui/panels/rotation_data_collection.py @@ -7,10 +7,11 @@ from aarecommon.models.rotation_scan import RotationScanRequest from PySide6.QtCore import Qt, Signal, Slot from PySide6.QtWidgets import QComboBox, QLabel, QMessageBox, QPushButton +from aare.gui.constants import LOGGER_NAME from aare.gui.panels.scan_settings_panel import ScanSettingsPanel from aare.gui.widgets.number_line_edit import DbOverrideLineEdit, NumberLineEdit -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) def add_screening_to_path(path): diff --git a/src/aare/gui/panels/sample_queue_panel.py b/src/aare/gui/panels/sample_queue_panel.py index 846cd5f7..5b0f609c 100644 --- a/src/aare/gui/panels/sample_queue_panel.py +++ b/src/aare/gui/panels/sample_queue_panel.py @@ -20,11 +20,12 @@ from PySide6.QtWidgets import ( QVBoxLayout, ) +from aare.gui.constants import LOGGER_NAME from aare.gui.models.sample_queue_model import SampleQueueSpreadsheet from aare.gui.widgets.message_box import LOW_CURRENT_THRESHOLD, conditions_auto_check from aare.gui.widgets.title_label import TitleLabel -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) class SampleQueuePanel(QFrame): diff --git a/src/aare/gui/panels/scan_settings_panel.py b/src/aare/gui/panels/scan_settings_panel.py index ce71e80a..f506456e 100644 --- a/src/aare/gui/panels/scan_settings_panel.py +++ b/src/aare/gui/panels/scan_settings_panel.py @@ -13,10 +13,11 @@ from PySide6.QtWidgets import ( QWidget, ) +from aare.gui.constants import LOGGER_NAME from aare.gui.widgets.message_box import precondition_check from aare.gui.widgets.number_line_edit import DbOverrideLineEdit -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) class ScanSettingsPanel(QWidget): diff --git a/src/aare/gui/panels/smart_rotation_panel.py b/src/aare/gui/panels/smart_rotation_panel.py index 8dc0f9e1..021a0555 100644 --- a/src/aare/gui/panels/smart_rotation_panel.py +++ b/src/aare/gui/panels/smart_rotation_panel.py @@ -6,10 +6,11 @@ from aarecommon.models.rotation_scan import RotationScanRequest from PySide6.QtCore import Qt, Signal, Slot from PySide6.QtWidgets import QGridLayout, QLabel, QPushButton, QSizePolicy, QSpacerItem, QWidget +from aare.gui.constants import LOGGER_NAME from aare.gui.panels.rotation_data_collection import add_data_to_path from aare.gui.widgets.number_line_edit import NumberLineEdit -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) class SimpleRotationSettingsPanel(QWidget): diff --git a/src/aare/gui/panels/target_stability_panel.py b/src/aare/gui/panels/target_stability_panel.py index 76bb80d0..3a67a6c1 100644 --- a/src/aare/gui/panels/target_stability_panel.py +++ b/src/aare/gui/panels/target_stability_panel.py @@ -22,7 +22,9 @@ from PySide6.QtWidgets import ( QWidget, ) -logger = setup_logger("aareGUI") +from aare.gui.constants import LOGGER_NAME + +logger = setup_logger(LOGGER_NAME) class InteractiveChartView(QChartView): diff --git a/src/aare/gui/panels/tell_sample_panel.py b/src/aare/gui/panels/tell_sample_panel.py index 16f0a17c..a0bc1075 100644 --- a/src/aare/gui/panels/tell_sample_panel.py +++ b/src/aare/gui/panels/tell_sample_panel.py @@ -17,10 +17,11 @@ from PySide6.QtWidgets import ( QTableView, ) +from aare.gui.constants import LOGGER_NAME from aare.gui.models.user_sample_model import UserSampleSpreadsheet from aare.gui.widgets.title_label import TitleLabel -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) class TellSamplePanel(QFrame): diff --git a/src/aare/gui/scan_logic/raster_grid_manager.py b/src/aare/gui/scan_logic/raster_grid_manager.py index 417d7544..a088d93c 100644 --- a/src/aare/gui/scan_logic/raster_grid_manager.py +++ b/src/aare/gui/scan_logic/raster_grid_manager.py @@ -17,7 +17,9 @@ from aarecommon.models.raster_grid import ( from PySide6.QtCore import QLineF, QObject, QPointF, QRect, QRectF, Qt, Signal, Slot from PySide6.QtGui import QBrush, QColor, QImage, QPainter, QPen -logger = setup_logger("aareGUI") +from aare.gui.constants import LOGGER_NAME + +logger = setup_logger(LOGGER_NAME) class RasterGridMetric(Enum): diff --git a/src/aare/gui/threads/daq_worker.py b/src/aare/gui/threads/daq_worker.py index 241b2085..29831a8c 100644 --- a/src/aare/gui/threads/daq_worker.py +++ b/src/aare/gui/threads/daq_worker.py @@ -50,7 +50,9 @@ from jfjoch_client import ScanResult, ScanResultImagesInner from PySide6.QtCore import QByteArray, QObject, QTimer, QUrl, Signal, Slot from PySide6.QtNetwork import QNetworkAccessManager, QNetworkReply, QNetworkRequest, QSslError -logger = setup_logger("aareGUI") +from aare.gui.constants import LOGGER_NAME + +logger = setup_logger(LOGGER_NAME) SPREADHSEET_FREQUENCY = 25 # Every 5 seconds diff --git a/src/aare/gui/threads/prediction_subscriber.py b/src/aare/gui/threads/prediction_subscriber.py index 1fa18698..2d03e4d5 100644 --- a/src/aare/gui/threads/prediction_subscriber.py +++ b/src/aare/gui/threads/prediction_subscriber.py @@ -10,7 +10,9 @@ from aarecommon.models.models import DAQStatusModel from PySide6.QtCore import QThread, Signal, Slot from PySide6.QtGui import QImage, QPixmap -logger = setup_logger("aareGUI") +from aare.gui.constants import LOGGER_NAME + +logger = setup_logger(LOGGER_NAME) class PredictionSubscriber(QThread): diff --git a/src/aare/gui/widgets/alert_banner.py b/src/aare/gui/widgets/alert_banner.py index adc44902..aaf0ae4d 100644 --- a/src/aare/gui/widgets/alert_banner.py +++ b/src/aare/gui/widgets/alert_banner.py @@ -3,7 +3,9 @@ from PySide6.QtCore import Qt, QTimer, Slot from PySide6.QtGui import QColor from PySide6.QtWidgets import QFrame, QGraphicsDropShadowEffect, QHBoxLayout, QLabel, QSizePolicy -logger = setup_logger("aareGUI") +from aare.gui.constants import LOGGER_NAME + +logger = setup_logger(LOGGER_NAME) class AlertBanner(QFrame): diff --git a/src/aare/gui/widgets/camera_image.py b/src/aare/gui/widgets/camera_image.py index e769119f..07d43042 100644 --- a/src/aare/gui/widgets/camera_image.py +++ b/src/aare/gui/widgets/camera_image.py @@ -37,11 +37,12 @@ from PySide6.QtWidgets import ( QToolTip, ) +from aare.gui.constants import LOGGER_NAME from aare.gui.models.bookmark import SmargonBookmarkList from aare.gui.scan_logic.raster_grid_manager import RasterGridManager from aare.gui.widgets.busy_overlay import BusyOverlayStyle, build_busy_overlay_style -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) class SampleCameraImageState(Enum): diff --git a/src/aare/gui/widgets/message_box.py b/src/aare/gui/widgets/message_box.py index bace90d0..ad3779b9 100644 --- a/src/aare/gui/widgets/message_box.py +++ b/src/aare/gui/widgets/message_box.py @@ -4,7 +4,9 @@ from aarecommon.config.logger import setup_logger from PySide6.QtCore import QEventLoop, QTimer from PySide6.QtWidgets import QCheckBox, QMessageBox -logger = setup_logger("aareGUI") +from aare.gui.constants import LOGGER_NAME + +logger = setup_logger(LOGGER_NAME) LOW_CURRENT_THRESHOLD = 100.0 SNOOZE_SECONDS = 3600.0 # "Don't ask again for 1 hour" diff --git a/src/aare/gui/widgets/status_bar.py b/src/aare/gui/widgets/status_bar.py index eb4ff224..ad8f4af3 100644 --- a/src/aare/gui/widgets/status_bar.py +++ b/src/aare/gui/widgets/status_bar.py @@ -7,12 +7,13 @@ from PySide6.QtCore import QPoint, QTimer, Signal, Slot from PySide6.QtGui import QFont from PySide6.QtWidgets import QDialog, QLabel, QMenu, QMessageBox, QSizePolicy, QStatusBar +from aare.gui.constants import LOGGER_NAME from aare.gui.widgets.baton_request_dialog import BatonRequestDialog from aare.gui.widgets.clickable_label import ClickableLabel from aare.gui.widgets.pgroup_dialog import PGroupDialog from aare.gui.widgets.value_label import ValueLabel -logger = setup_logger("aareGUI") +logger = setup_logger(LOGGER_NAME) class StatusBar(QStatusBar):