haruncpi/laravel-log-reader
A simple Laravel log viewer that lets you browse, search, filter, and delete your application's log files from a clean web dashboard. Inspect errors and daily logs without opening files manually, with date filtering and one-click cleanup built in.
Architecture fit. haruncpi/laravel-log-reader is a self-contained, leaf-level package: it registers a route, a controller, a config file, and a Blade/JS view that reads files from storage/logs. It has no database migrations, no queue workers, no service bindings into the domain layer, and no event hooks. That makes it architecturally inert — it can be added or removed without touching application code, which is the ideal profile for an internal ops convenience tool. It is explicitly not an observability platform; it is a file browser for whatever Laravel's Log facade already wrote to disk.
Integration feasibility. Very high. composer require haruncpi/laravel-log-reader, publish the config, and the route is live. There is no build step, no Node dependency, no external service. The real integration work is not technical installation but access control design — deciding which environments expose the route and which principals can reach it.
Technical risk.
single, daily, stack → file). Meaningless with syslog, papertrail, cloudwatch, or container stdout logging.Key questions.
Stack fit. Targets Laravel 5.8+ through current releases with PHP 7.x/8.x. No conflict with typical application dependencies — it uses only framework components. It coexists cleanly with existing auth, middleware, and route groups. Verify the illuminate/support constraint against our pinned Laravel version before committing; that is the most likely install-time friction point.
Migration path.
config/log-read-reader.php.web, auth, and a custom can:view-logs gate or IP allowlist.local and staging in AppServiceProvider (or a config-driven environment guard) so it is structurally impossible to expose in production without an explicit change.Log or an activity table) recording who opened and who deleted.Compatibility. Works out of the box with default storage/logs/laravel.log and daily-channel files. Custom log paths, non-standard filenames, or channels writing elsewhere require config adjustment. Incompatible in practice with any deployment where logs go to stdout/stderr and are collected by the platform (Kubernetes, Heroku, ECS) — in those cases there is no file to read.
Sequencing. Install → secure → staging validation → environment-gated production rollout (optional) → documentation → parallel investment in centralized logging. Treat this package as a developer-experience accelerant, not a monitoring strategy. Its value is eliminating ssh + tail -f during local and staging debugging.
Maintenance. Near-zero ongoing code maintenance — no daemon, no schema, no external dependency. The maintenance burden is version-tracking: pin the constraint, review on each Laravel major upgrade, and be prepared to fork or vendor if the maintainer goes dormant. That is a ~2-hour/year cost, acceptable for the utility delivered.
Support. GitHub issues only; no vendor, no SLA, no security disclosure process. Mitigate by pinning the version, vendoring if it becomes load-bearing, and not deploying it where a break would impede incident response.
Scaling. Single-node by design — it reads the local filesystem. It does not aggregate across instances. In a load-balanced or autoscaled deployment, each user sees only the logs of whichever node served the request, and ephemeral containers lose logs entirely. This is the package's hard ceiling: it is a single-host debugging tool.
Failure modes.
storage/logs → empty or erroring UI; silent confusion during incidents.Ramp-up. Minutes for a developer — install, visit the route, done. The non-trivial ramp is on the ops/security side: establishing who may access the route, documenting the environment gating, and ensuring the team understands this is a convenience viewer with no alerting, retention, or correlation. Budget a short security review and a one-page runbook rather than any formal training.
How can I help you explore Laravel packages today?