roadrunner-php/app-logger
Send log messages to RoadRunner with this PHP 8.1+ package. Create a Logger over an RPC connection and call debug, info, warning, error, or log to route messages to RoadRunner’s logger or stderr. Simple YAML config.
Architecture fit: Release 1.3.1 corrects the runtime dependency from spiral/roadrunner to roadrunner/roadrunner, strengthening alignment with the official RoadRunner PHP organization and the RoadRunner v3 ecosystem. For Laravel, fit remains conditional: the package should be treated as a RoadRunner-specific logging component unless it is confirmed to complement Laravel’s Monolog/PSR-3 stack cleanly. Worker lifecycle hooks, state isolation, and restart behavior still require verification.
Integration feasibility: Improved versus 1.3.0. The dependency correction reduces the risk of Composer resolving against the legacy Spiral RoadRunner package and clarifies that this package targets the official RoadRunner runtime package. However, the package rename, PHP 8.2 minimum, Packagist publication/aliasing, and Laravel bootstrapping still need confirmation. The dependency swap is patch-level but can materially affect dependency resolution in existing applications.
Technical risk: Reduced dependency-alignment risk, but not eliminated. New Composer conflicts may appear for applications that explicitly require spiral/roadrunner or depend on it transitively. PSR-3/Monolog compatibility, Laravel-specific integration, RoadRunner v2 support, PHP <8.2 support, security policy, log rotation behavior, and long-term maintenance commitments remain unverified.
Key questions: Is roadrunner/app-logger published on Packagist, and is the old package name abandoned or aliased? Does it implement PSR-3 or provide a Monolog/Laravel adapter? Does 1.3.1’s roadrunner/roadrunner requirement align with the RoadRunner v3 versions used by Laravel Octane/RoadRunner deployments? What is the migration impact for applications still requiring spiral/roadrunner? What RoadRunner v2 and PHP <8.2 support remains, if any? How are worker restarts, log rotation, disk I/O, and high-throughput failures handled? Who maintains the package, and what is the security-response process?
Stack fit: Stronger for PHP 8.2+ applications running RoadRunner v3. The corrected roadrunner/roadrunner dependency improves fit with the official RoadRunner runtime package. Laravel logging is typically Monolog/PSR-3 based, so the package should still be treated as a RoadRunner-specific logging component unless documentation confirms a clean Laravel bridge.
Migration path: Inventory Composer manifests and lockfiles for spiral/roadrunner versus roadrunner/roadrunner. Update to the renamed package, run composer update on a non-production branch to surface dependency conflicts, bump the runtime to PHP 8.2, upgrade RoadRunner to v3 where applicable, and revise bootstrap/configuration entry points. Validate worker lifecycle logging before replacing any existing logger configuration.
Compatibility: Explicitly targets PHP 8.2 and RoadRunner v3. Release 1.3.1 corrects the runtime dependency but may require Composer conflict resolution for applications tied to spiral/roadrunner. Compatibility with RoadRunner v2, older PHP versions, and existing Laravel logging pipelines is not established. Test coverage moved to Testo, which is a positive maintenance signal but does not prove framework-level compatibility.
Sequencing: First audit current package name, PHP version, RoadRunner version, Composer lock state, and Laravel logging configuration. Then upgrade a non-production branch to PHP 8.2/RoadRunner v3, switch the Composer dependency to roadrunner/app-logger 1.3.1, resolve any spiral/roadrunner dependency conflicts, update bootstrap/config, run lifecycle and failure-mode tests, and only then roll out progressively with rollback to the existing logger configuration.
Maintenance: The 1.3.1 patch is a positive maintenance signal and corrects an important runtime dependency. The public repository and release cadence improve maintainability signals versus the prior unknown-source assessment. The package rename still creates a deprecation/migration window that must be managed internally. Maintainer ownership and long-term support commitments should still be confirmed before production dependency.
Support: Support appears to be GitHub issue/commit based rather than vendor-backed. Internal teams should assign an owner for Composer upgrades, RoadRunner compatibility, dependency-conflict resolution, and Laravel logging integration.
Scaling: RoadRunner v3 support is favorable for persistent-worker deployments, but operational scaling depends on log volume, disk I/O, rotation, and backpressure behavior, none of which are confirmed in the release notes. High-throughput services should benchmark logging overhead before broad rollout.
Failure modes: Likely failure modes include Composer conflicts from the spiral/roadrunner to roadrunner/roadrunner dependency change, breakage from the package rename, PHP 8.2 incompatibility in older Laravel deployments, RoadRunner version mismatch, missing or duplicated logs during worker restarts, disk saturation from verbose logging, and configuration drift between Laravel and RoadRunner bootstrap files. Release 1.3.1 reduces dependency-name risk but does not resolve operational logging risks.
Ramp-up: Moderate. Teams need familiarity with RoadRunner v3, PHP 8.2 runtime requirements, Composer dependency resolution around RoadRunner packages, and Laravel/Monolog integration boundaries. A staged pilot with rollback to the existing logger configuration is advisable.
How can I help you explore Laravel packages today?