tomatophp/tomato-logs-module
A Laravel module that adds a log viewer to the Tomato PHP admin panel, letting you browse, filter, and inspect application log files from a clean interface instead of digging through server files.
Architecture fit. tomatophp/tomato-logs-module is a Laravel package in the TomatoPHP ecosystem — a family of Composer-installable modules that bolt functionality onto the Tomato admin panel (Filament/Livewire-based). This specific module is a log-viewing/activity-log surface: it ships migrations, a service provider, and a Filament plugin/page set that renders stored log records inside the admin panel. Architecturally it is additive, not invasive: no core framework patching, no middleware hijacking, no separate runtime. For a Laravel shop already on Filament, the fit is high; for a shop on Blade/Vue/Inertia with no Filament, the fit is effectively zero unless you adopt Filament first.
Integration feasibility. Standard Laravel package mechanics: composer require, service provider auto-discovery, php artisan vendor:publish for config/migrations, php artisan migrate, then registering the plugin on a Filament panel provider. Realistic spike effort is half a day to two days for a developer already fluent in Filament, dominated by config tuning (retention, subject types, authorization gate) rather than plumbing.
Technical risk.
spatie/laravel-activitylog or Laravel Telescope, you may get duplicate tables or conflicting model assumptions.Key questions.
composer.json? Is Filament v3 required, or is v2 still supported?spatie/laravel-activitylog (and at what version), or does it define its own log schema?Stack fit. Assumes PHP 8.1+, Laravel 10/11, Filament v3, Livewire 3. Confirm these match your baseline before committing; the cost of adopting Filament solely to consume this module is not justified — adopt the module only because you already have (or independently want) the panel.
Migration path. There is no prior assessment and no incumbent implementation, so this is a greenfield decision rather than a migration. Treat v1.0.0 as a trial dependency: install behind a feature branch, publish config and migrations into version control, and diff the generated files against your conventions before merging. Do not adopt on the strength of the version number alone.
Compatibility. Verify three axes explicitly: (a) Filament major vs. your panel, (b) Laravel major vs. your app skeleton, (c) coexistence with any existing activity-log or audit package. Run composer why-not / a dependency-resolution dry run in a scratch branch to surface conflicts cheaply.
Sequencing.
Maintenance. Budget modest but non-zero recurring effort: version pins on Filament/Laravel upgrades, and a periodic review of upstream activity. Because the ecosystem is small, assume you may need to fork for a critical fix; keep published config and migrations in-repo so a fork is a one-line Composer change rather than a rewrite.
Support. Expect GitHub-issues-level support with no SLA. Do not place this on a path where a broken upgrade blocks a release; isolate it so it can be disabled without affecting core admin functionality.
Scaling. The module is a read surface over a growing table. Two operational controls matter more than the package itself: (a) a retention job that prunes or archives beyond N days, and (b) indexes on the columns the UI filters and sorts by (typically created_at, subject_type, causer_id). At high write volume, ensure log writes are queued or otherwise non-blocking on the request path; verify whether the package's logging listener is synchronous.
Failure modes.
Ramp-up. Low for developers already writing Filament plugins: hours to productivity. For a team without Filament experience, add roughly a week of panel-familiarity overhead, and note that this cost is attributable to Filament, not to this module. TPM-level effort to a go/no-go: ~1 week elapsed, ~3–5 engineer-days, plus a security review pass. Recommend proceeding only as a pinned, feature-flagged, non-critical dependency — not as a foundational audit system.
How can I help you explore Laravel packages today?