Lifecycle System Refactor & Logging Centralization #56

Merged
tschesky merged 7 commits from update_tooling_and_docs into main 2025-11-11 08:48:29 +00:00
Owner

ManagedBehaviour System Refactor

  • Sealed Awake() to prevent override mistakes that break singleton registration
  • Added OnManagedAwake() for early initialization (fires during registration)
  • Renamed lifecycle hook: OnManagedAwake()OnManagedStart() (fires after boot, mirrors Unity's Awake→Start)
  • 40 files migrated to new pattern (2 core, 38 components)
  • Eliminated all fragile private new void Awake() patterns
  • Zero breaking changes - backward compatible

Centralized Logging System

  • Automatic tagging via CallerMemberName and CallerFilePath - logs auto-tagged as [ClassName][MethodName] message
  • Unified API: Single Logging.Debug/Info/Warning/Error() replaces custom LogDebugMessage() implementations
  • ~90 logging call sites migrated across 10 files
  • 10 redundant helper methods removed
  • All logs broadcast via Logging.OnLogEntryAdded event for real-time monitoring

Custom Log Console (Editor Window)

  • Persistent filter popups for multi-selection (classes, methods, log levels) - windows stay open during selection
  • Search across class names, methods, and message content
  • Time range filter with MinMaxSlider
  • Export filtered logs to timestamped .txt files
  • Right-click context menu for quick filtering and copy actions
  • Visual improvements: White text, alternating row backgrounds, color-coded log levels
  • Multiple instances supported for simultaneous system monitoring
  • Open via AppleHills > Custom Log Console
## ManagedBehaviour System Refactor - **Sealed `Awake()`** to prevent override mistakes that break singleton registration - **Added `OnManagedAwake()`** for early initialization (fires during registration) - **Renamed lifecycle hook:** `OnManagedAwake()` → `OnManagedStart()` (fires after boot, mirrors Unity's Awake→Start) - **40 files migrated** to new pattern (2 core, 38 components) - Eliminated all fragile `private new void Awake()` patterns - Zero breaking changes - backward compatible ## Centralized Logging System - **Automatic tagging** via `CallerMemberName` and `CallerFilePath` - logs auto-tagged as `[ClassName][MethodName] message` - **Unified API:** Single `Logging.Debug/Info/Warning/Error()` replaces custom `LogDebugMessage()` implementations - **~90 logging call sites** migrated across 10 files - **10 redundant helper methods** removed - All logs broadcast via `Logging.OnLogEntryAdded` event for real-time monitoring ## Custom Log Console (Editor Window) - **Persistent filter popups** for multi-selection (classes, methods, log levels) - windows stay open during selection - **Search** across class names, methods, and message content - **Time range filter** with MinMaxSlider - **Export** filtered logs to timestamped `.txt` files - **Right-click context menu** for quick filtering and copy actions - **Visual improvements:** White text, alternating row backgrounds, color-coded log levels - **Multiple instances** supported for simultaneous system monitoring - Open via `AppleHills > Custom Log Console`
tschesky added 7 commits 2025-11-11 08:47:18 +00:00
tschesky force-pushed update_tooling_and_docs from 363eb99a91 to 32ecbf4dc4 2025-11-11 08:48:09 +00:00 Compare
tschesky merged commit 0aa2270e1a into main 2025-11-11 08:48:29 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tschesky/AppleHillsProduction#56
No description provided.