mojtabaahn/laravel-web-logs
Browse and read your Laravel application logs directly in the browser. This lightweight package adds a simple web UI for viewing, searching, and filtering log files—no SSH or server access needed—with configurable routes, middleware, and access control.
Architecture fit. The package is a thin, convention-over-configuration Laravel extension: it registers a service provider, ships a controller/route layer that reads files from storage/logs via Laravel's filesystem abstraction, and renders them through Blade views. It slots into the existing HTTP kernel and fits cleanly into the standard Laravel package auto-discovery model — no new runtime, broker, or datastore to operate. For teams already on Laravel and looking for a zero-infrastructure log peek tool for non-production environments, the architectural surface area is genuinely small. That small surface is also why the archived status matters: there is no vendor to absorb the compatibility drift as Laravel and PHP advance.
Integration feasibility. Integration is low-effort and reversible: composer require, publish the config, gate the route behind existing auth middleware, and confirm file permissions on the log directory. It is not a framework-level commitment — it can be removed with a Composer command and a route cleanup. The realistic blocker is not the how but the whether: the last release (Feb 2022) predates Laravel 10/11 and PHP 8.2+, so installation on a current stack will likely require a fork, a version-constraint override, or acceptance of an unsupported dependency tree.
Technical risk. This is the dominant concern and it is not merely "outdated":
Key questions for the adopting team.
Stack fit. Fits Laravel-style applications where logs are file-based and local to the app server. It does not fit containerized/ephemeral-filesystem deployments where logs are written to stdout and shipped to a collector — the viewer would read an empty or rapidly rotating directory. Confirm the deployment topology before anything else: this package assumes durable, filesystem-backed local logging.
Migration path. Preferred sequence for a team that decides to adopt:
Compatibility. Verify against the target PHP and Laravel versions explicitly. Do not rely on the 2022 release notes; verify the lock file resolves and that the service provider boots under auto-discovery. Also confirm the log formatter matches the parser's expectations in staging with real, representative log lines.
Sequencing. Sequence the work as: security review → deployment-topology check → compatibility spike → auth/gate wiring → staging validation → restricted-environment rollout. Do not parallelize the security review with rollout; it is the gate.
Where to stop. If the outcome of the security review is "we cannot guarantee route protection" or the compatibility spike returns "requires a fork we have not resourced," the correct decision is to migrate to a maintained alternative (e.g., the actively maintained Laravel log-viewer packages, or simply the existing observability stack) rather than to adopt an archived viewer for a capability that is, candidly, a convenience feature.
Maintenance. Effectively zero upstream maintenance and therefore 100% adopter maintenance. This should be budgeted explicitly. For an internal-only, non-production convenience tool the cost is near-zero (it just needs to keep installing); if it touches production, the cost becomes recurring — periodic audits, log-format re-validation on Laravel upgrades, and security re-review. Assign an owner by name, not a team alias.
Support. No vendor support path, no SLA, no fix-forward. Incidents trace back to the adopting team. Ramp-up for engineers is genuinely low (hours to read the code and the config), which meaningfully reduces the support burden — the package is small enough to be fully understood, which is its strongest operational argument.
Scaling. Poor fit for high-volume log environments. It is a per-request file reader, not an indexed store; behavior degrades with file size and rotation, and it does not aggregate across multiple app instances. It should be scoped as a developer convenience for a single instance, not a log access platform. If more than one engineer per day needs log visibility, or if multiple pods are involved, the correct answer is a log-shipping pipeline.
Failure modes to plan for.
Ramp-up. Low: an engineer can read the whole package in an afternoon, and the config is self-explanatory. The real ramp-up cost is organizational, not technical — establishing the access-control boundary, deciding which environments it may run in, and documenting the limitation relative to the primary observability stack. That documentation is not optional; without it, the tool will drift into production use by default.
Recommendation. Viable only as a low-risk, non-production developer convenience, gated behind explicit auth and owned by a named engineer, with a fork-or-retire decision recorded. For any production log-access need — where PII exposure, compliance, and incident response are in play — the archived status and lack of a security patch path make it the wrong choice regardless of how small the code is.
How can I help you explore Laravel packages today?