Skip to content

Conversation

@dohoonk
Copy link

@dohoonk dohoonk commented Dec 7, 2025

  • Add LogStreamRouter core singleton with ring buffer and sink architecture
  • Add LogStreamLogger to intercept engine logs via CompositeLogger
  • Add LogStreamFileSink with JSONL/plain format and size-based rotation
  • Add EditorLogStreamWebSocketSink for live log streaming over WebSocket
    • Uses TCPServer + WSLPeer for standard WebSocket client compatibility
    • Supports batching (50 logs or 100ms interval) and optional auth token
    • Fixed iterator corruption and added proper peer lifecycle management
  • Add LogStreamDock editor panel with filters, search, pause, export
    • Color-coded log levels, timestamps, categories, file:line links
    • Virtualized rendering with configurable max display entries
  • Add editor settings for LogStream configuration (logstream/*)
  • Integrate with EditorNode initialization and settings change detection
  • Add Python WebSocket test clients for verification

This implementation follows the PRD requirements for native log streaming directly into the Godot editor with minimal performance impact.

- Add LogStreamRouter core singleton with ring buffer and sink architecture
- Add LogStreamLogger to intercept engine logs via CompositeLogger
- Add LogStreamFileSink with JSONL/plain format and size-based rotation
- Add EditorLogStreamWebSocketSink for live log streaming over WebSocket
  - Uses TCPServer + WSLPeer for standard WebSocket client compatibility
  - Supports batching (50 logs or 100ms interval) and optional auth token
  - Fixed iterator corruption and added proper peer lifecycle management
- Add LogStreamDock editor panel with filters, search, pause, export
  - Color-coded log levels, timestamps, categories, file:line links
  - Virtualized rendering with configurable max display entries
- Add editor settings for LogStream configuration (logstream/*)
- Integrate with EditorNode initialization and settings change detection
- Add Python WebSocket test clients for verification

This implementation follows the PRD requirements for native log streaming
directly into the Godot editor with minimal performance impact.
@dohoonk dohoonk requested review from a team as code owners December 7, 2025 22:19
@Ivorforce
Copy link
Member

Ivorforce commented Dec 7, 2025

Thank you for opening a pull request!

Please expand your pull request description to adequately describe the feature you're hoping to get merged. Most importantly, please provide a motivation, a summary, and how to test the feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants