- What is laravel-enso/logs used for?
- laravel-enso/logs adds a permission-aware log viewer to the Laravel Enso admin panel. It lets admins browse, search, filter, download, and delete Laravel log files without SSH access. It reads log files from disk on top of Laravel's existing Monolog configuration rather than replacing or intercepting the logging pipeline.
- How do I install laravel-enso/logs in a Laravel Enso app?
- For an existing Enso installation, run composer require laravel-enso/logs and complete the package's publish and migrate steps. The Enso service provider then registers the package's routes, menu entry, and Vue SPA interface. This is not a drop-in for non-Enso applications.
- Does laravel-enso/logs work with a plain Laravel app that doesn't use Enso?
- No. The package is tightly coupled to Enso conventions, including Enso routes, a Vue SPA frontend, table and form builders, permission and menu registration, and dependencies on enso/core, auth, and preferences. A non-Enso app would require porting the log-reading backend into a bespoke controller and view, which is usually not worth the fork maintenance.
- Which Laravel and Enso versions are compatible with laravel-enso/logs?
- Compatibility is tied to specific Laravel and Enso major versions because Enso packages are versioned in lockstep. Check the package's composer constraints against your host app before upgrading either Laravel or Enso. The low star count and small maintainer surface mean you should validate edge cases yourself.
- How does laravel-enso/logs handle permissions and log security?
- Access control rests entirely on Enso's permission system being correctly configured, so review the log viewer role against least privilege. Log files often contain absolute paths, SQL fragments, PII, session identifiers, and occasionally secrets from debug output. The package's premise is surfacing raw logs to a web UI, so a mis-scoped role becomes a data-exfiltration risk.
- Can laravel-enso/logs read logs in multi-node or container deployments?
- It reads local log files from disk, so on multi-node deployments each pod writes its own laravel.log and the viewer only sees the file on the node it reads. It does nothing for stdout or aggregator-based logging such as LOG_CHANNEL=stderr, which is common in containerized environments. Use a centralized log sink for those setups.
- Does laravel-enso/logs handle large log files without memory problems?
- Naive reads of large log files can exhaust memory or block the request worker, so verify whether the implementation streams or enforces a size cap. Test with your largest rotated log file before relying on it in production. Log retention and rotation policy also affect what the file discovery will show.
- How can I test laravel-enso/logs in my application?
- You can test the integration by creating a sample log file in storage/logs, verifying that the Enso route and menu entry are registered, and checking that only authorized roles can browse, search, filter, download, and delete. Exercise the permission gates with multiple roles, including a least-privilege operator. Also confirm behavior when log files are missing, rotated, or very large.
- What are the best alternatives to laravel-enso/logs?
- Common alternatives include Laravel Log Viewer, Logviewer, Papertrail or Datadog sinks, and hosted log aggregators. For a non-Enso app, forking this package rarely wins the build-versus-adopt calculation because you inherit maintenance for a few hundred lines of file-handling logic. Choose based on where your logs physically live and whether you need centralized aggregation.
- Is laravel-enso/logs actively maintained and safe for production?
- The package is a UI-layer convenience for the Enso ecosystem with a narrow value proposition, and its low star count and composite score suggest limited community validation. It is production-ready only if your app is already on a compatible Enso version and your deployment writes logs to local storage. Confirm who owns the fork if you diverge from upstream, and review permissions and PII exposure before enabling it.