You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a pluggable logger interface so frameworks integrating Warp can route its host-side diagnostic output through their own logging machinery instead of print() to stdout.
Proposed public surface:
wp.Logger â runtime-checkable Protocol with debug, info, warning, error methods. Any object satisfying the interface works.
wp.set_logger(logger) / wp.get_logger() â install or retrieve the active logger.
wp.ScopedLogger(logger) â context manager for temporary overrides (mirrors wp.ScopedAllocator).
wp.utils.LoggerKit â adapter for Omniverse Kit hosts (routes through Carbonite).
Pass None to set_logger() to restore Warp's built-in default. The default implementation is kept internal: only the protocol and entry points above are public, mirroring how the default mempool allocator is internal while the wp.Allocator protocol and wp.utils.AllocatorRmm are public.
Context
Today Warp emits host-side diagnostics through print() and warnings.warn() calls scattered across the codebase, with no extension point. Concrete needs:
Omniverse Kit integrations need Warp messages to appear in Kit's log viewer with proper severity and source attribution, rather than going to stdout where Kit doesn't see them.
Anything that wants to capture or redirect Warp's diagnostic output (forwarding to stdlib logging, capturing in tests, framing per-rank in distributed jobs) currently has to scrape stdout.
Complements #1315 (which scopes the underlying warp.utils.warn() filter-override bug). This issue covers the extensibility surface that allows non-default loggers to exist in the first place.
Warp now exposes a pluggable host-side logging interface through wp.Logger, wp.set_logger(), wp.get_logger(), and wp.ScopedLogger. The implementation also adds wp.config.log_level and public log-level constants so applications can control Warp diagnostic verbosity while routing messages through their own logging systems.
Host-side warnings, deprecation messages, launch diagnostics, initialization output, and related debug paths have been migrated onto the new logging path, with tests covering custom loggers, scoped logger overrides, warning filtering, log-level gating, and legacy verbose / quiet compatibility.
Warp does not ship an Omniverse Kit-specific LoggerKit adapter; application-specific adapters are intended to live in the host integration layer and can be installed with wp.set_logger().
Activity
warp.utils.warn()overrides user warning filters, making deprecation warnings unsuppressible #1315Add pluggable logging infrastructure [NVIDIAGH-1315, NVIDIAGH-1434]
shi-eric commentedon May 14, 2026
This has been addressed by 110917b
Warp now exposes a pluggable host-side logging interface through
wp.Logger,wp.set_logger(),wp.get_logger(), andwp.ScopedLogger. The implementation also addswp.config.log_leveland public log-level constants so applications can control Warp diagnostic verbosity while routing messages through their own logging systems.Host-side warnings, deprecation messages, launch diagnostics, initialization output, and related debug paths have been migrated onto the new logging path, with tests covering custom loggers, scoped logger overrides, warning filtering, log-level gating, and legacy
verbose/quietcompatibility.Warp does not ship an Omniverse Kit-specific
LoggerKitadapter; application-specific adapters are intended to live in the host integration layer and can be installed withwp.set_logger().Spec: switch eager-mode warning to log_warning(..., once=True)
Add cluster_dim option for thread block clusters [NVIDIAGH-1401]
Add pluggable logging infrastructure [NVIDIAGH-1315, NVIDIAGH-1434]
Add cluster_dim option for thread block clusters [NVIDIAGH-1401]
Add pluggable logging infrastructure [NVIDIAGH-1315, NVIDIAGH-1434]
Add cluster_dim option for thread block clusters [NVIDIAGH-1401]
Add cluster_dim option for thread block clusters [NVIDIAGH-1401]