orchid/log
Logging for Laravel Orchid: capture application events and review them right in your admin panel. orchid/log gives teams a simple way to monitor activity, trace issues, and maintain an audit trail without leaving the Orchid dashboard.
Architecture fit. orchid/log is a feature of the Orchid Platform, not a standalone Laravel logging library — it is a subtree split of theOrchid/Platform and renders inside the Orchid admin panel. The fit is binary: high where the product already runs (or has committed to) an Orchid-based Laravel admin, and effectively zero anywhere else. There is no headless or partial-adoption story that justifies pulling it into a non-Orchid application. For portfolio purposes, treat it as a supporting capability inside an existing platform bet — a UI convenience for business users — not as an observability or audit-system decision in its own right. Engineering-facing diagnostics must remain on Sentry/Datadog/Telescope; this package serves a different audience and a different job.
Integration feasibility. Realistically it arrives as a transitive dependency of orchid/platform; "adding just this" to a non-Orchid app produces an unsupported hybrid with high cost and low value. The honest planning read is configuration, not integration: near-zero incremental effort once Orchid is in place, and disproportionate effort if it is not. Version selection must track platform releases rather than float independently, and transitive illuminate/* and PHP constraints will bind.
Technical risk.
Key questions to resolve before commitment.
Stack fit. Clean for a Laravel-native stack — Eloquent, migrations, Composer, Blade admin. Wrong primitive for non-Laravel services, polyglot event buses, or any architecture where the audit trail must be a centralized system of record (SIEM, data lake, append-only external service). This package writes to the application database. If the roadmap requires an external ledger, scope that separately and use this only as the admin-side viewer for business users.
Migration path.
Compatibility. Pin exact versions against the platform release; avoid ^ ranges on the core dependency. Audit for conflicts with any existing audit package — two listeners on the same Eloquent events is a common and confusing double-write. Validate against actual production PHP/Laravel versions, not the declared floor.
Sequencing.
Maintenance. Ongoing cost is dominated by upgrade coupling, not the package itself. Budget a recurring dependency review on each Laravel minor release and expect to be blocked on the platform maintainer for compatibility bumps. Because the code surface is small, a vendored fork is a credible mitigation — scope that option now, while it is cheap, rather than during an incident.
Support. Community-only; no vendor to escalate to. Internal ownership must be explicit: name an engineer accountable for upgrades, redaction policy, and the fork/upgrade runbook. Document the "how we patch this ourselves" path on day one and record the decision in the architecture log so it is not relitigated each quarter.
Scaling. The log table grows monotonically with write volume and is read rarely — the classic shape that degrades quietly. Plan composite indexes on model identifier plus timestamp, a pruning/retention job, and archival to cold storage. Quantify write amplification on high-write models before rollout; if logging becomes a hotspot, move it off the request path. Remember it shares storage, I/O, backup, and restore time with the primary workload, which turns a logging decision into an availability concern at the margins.
Failure modes to design against.
Ramp-up. Low for a team already fluent in Laravel and Orchid — roughly days to first productive change, since the concepts (Eloquent events, migrations, admin screens) are familiar. Materially higher for a team introducing Orchid for the first time, because the cost is really platform onboarding, not this package; in that case, budget the learning against the platform bet and not against logging. For support and operations users the ramp-up is effectively zero: it lives in the admin panel they already use daily, under the existing permission model, with no new tool to learn.
How can I help you explore Laravel packages today?