Skip to content

Set up logging functionality#95

Merged
BeckettFrey merged 2 commits intoreleasefrom
60/setup-logging
Apr 13, 2026
Merged

Set up logging functionality#95
BeckettFrey merged 2 commits intoreleasefrom
60/setup-logging

Conversation

@BeckettFrey
Copy link
Copy Markdown
Member

@BeckettFrey BeckettFrey commented Apr 13, 2026

Closes #60

This pull request introduces a robust logging system to the application, enabling rolling file logs, live log viewing within the GUI, and improved logging throughout the codebase. It adds configuration options for log file size and retention, integrates a Qt-aware log handler for real-time log updates in the interface, and provides a subtle in-app log viewer dialog accessible from the main window. Additionally, logging statements have been added to key workflows for better observability.

The most important changes are:

Logging Infrastructure and Configuration:

  • Added a rotating file logging system with configurable size and backup count, defaulting to ~/.voxkit/logs/voxkit.log. New config options (log_max_bytes, log_backup_count) are now available in all app_info.yaml files and the AppConfig class. [1] [2] [3] [4] [5]
  • Introduced setup_logging in logging_config.py to initialize logging early in main.py, with support for environment-based debug level and idempotent setup. [1] [2] [3]

GUI Integration and Features:

  • Implemented a Qt-aware log handler (QObjectLogHandler in log_handler.py) that emits log records as signals, allowing GUI components to subscribe to live log output.
  • Added a LogViewerDialog component that displays the tail of the log file and updates live as new records are emitted. [1] [2] [3]
  • Integrated a subtle log viewer entry point in the main window's status area, allowing users to open the log viewer dialog from the GUI.

Logging Usage Improvements:

  • Replaced print statements with logging calls in navigation and workflow methods throughout the GUI (__init__.py, startup.py) and added informational logs to key events such as startup, navigation, and script execution. [1] [2] [3] [4] [5] [6] [7] [8]

These changes collectively provide a more maintainable, observable, and user-friendly logging experience for both developers and end-users.

@BeckettFrey BeckettFrey linked an issue Apr 13, 2026 that may be closed by this pull request
@BeckettFrey BeckettFrey merged commit e6b4bdd into release Apr 13, 2026
3 checks passed
BeckettFrey added a commit that referenced this pull request Apr 14, 2026
* fixes #64: add ai optimized documentation file

* fix: replace localhost help_url defaults with production URL (#92)

* Initial plan

* fix: replace localhost help_url defaults with production URL

Agent-Logs-Url: https://github.com/BrainBehaviorAnalyticsLab/voxkit-desktop/sessions/496f7ed1-fdaa-4df9-b574-5ab55254c136

Co-authored-by: BeckettFrey <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: BeckettFrey <[email protected]>

* fix: dataset panel empty state non-responsive when splitter resized (#94)

* Initial plan

* fix: prevent helper_label and empty_label from resizing with splitter

Agent-Logs-Url: https://github.com/BrainBehaviorAnalyticsLab/voxkit-desktop/sessions/ede8fa76-ccf4-4940-bd76-7f46adde44c5

Co-authored-by: BeckettFrey <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: BeckettFrey <[email protected]>

* setup-logging (#95)

* Refactor configuration and update release workflow process (#96)

* refactor: remove shadowed config

* replace: move to invoke for os agnostic clarity

* remove release workflow in favor of more manual steps

* Configure shredguard for blocking regex patterns (#98)

* fix: don't mark first launch complete on startup script error (#99)

* Initial plan

* fix: don't mark first launch complete on startup script error

Agent-Logs-Url: https://github.com/BrainBehaviorAnalyticsLab/voxkit-desktop/sessions/e51a7557-a81e-4972-a7e6-45133b115413

Co-authored-by: BeckettFrey <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: BeckettFrey <[email protected]>

* fix: readable_from_unique_id handles prefixed IDs from generate_unique_id (#101)

* Initial plan

* fix: handle prefixed IDs in readable_from_unique_id

Agent-Logs-Url: https://github.com/BrainBehaviorAnalyticsLab/voxkit-desktop/sessions/f6936450-f9a2-4df8-b75a-b403d98db565

Co-authored-by: BeckettFrey <[email protected]>

* fix: raise descriptive ValueError when no timestamp found in readable_from_unique_id

Agent-Logs-Url: https://github.com/BrainBehaviorAnalyticsLab/voxkit-desktop/sessions/f6936450-f9a2-4df8-b75a-b403d98db565

Co-authored-by: BeckettFrey <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: BeckettFrey <[email protected]>

* Initial plan (#103)

Co-authored-by: copilot-swe-agent[bot] <[email protected]>

* Revert "Initial plan (#103)" (#106)

This reverts commit b9ab4a0.

* Fix problem with dedicated internal function (#107)

* fix: add empty-ID guard to delete_model to prevent wiping engine models directory (#100)

* Initial plan

* fix: add empty-ID guard to delete_model to prevent wiping engine models directory

Agent-Logs-Url: https://github.com/BrainBehaviorAnalyticsLab/voxkit-desktop/sessions/0cce5a70-83a5-4c00-b1e8-19f85cb895d1

Co-authored-by: BeckettFrey <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: BeckettFrey <[email protected]>

* fix: validate_dataset checks stem-name pairing between audio and label files (#102)

* Initial plan

* fix: validate_dataset checks stem-name pairing between audio and label files

Agent-Logs-Url: https://github.com/BrainBehaviorAnalyticsLab/voxkit-desktop/sessions/73d34692-65d9-48a2-9621-7127982837a2

Co-authored-by: BeckettFrey <[email protected]>

* chore: remove accidentally committed root conftest.py

Agent-Logs-Url: https://github.com/BrainBehaviorAnalyticsLab/voxkit-desktop/sessions/46f1cfe0-1564-47a8-85ea-4c404b6b23f8

Co-authored-by: BeckettFrey <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: BeckettFrey <[email protected]>

* 82/fix view btn width (#105)

* Fix button width inconsistency

* Migrate to table style

---------

Co-authored-by: Copilot <[email protected]>
@BeckettFrey BeckettFrey deleted the 60/setup-logging branch April 24, 2026 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Setup logging with rolling window

1 participant