Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Log Viewer Laravel Package

achyutn/filament-log-viewer

A Filament plugin that reads and displays Laravel log files in a clean, searchable table with stack traces and filtering. Register it in your panel and visit /logs to browse entries.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: This is a narrow, well-scoped Filament plugin for exposing Laravel log files inside an existing Filament admin panel. It fits cleanly where the product already runs Laravel + Filament and needs an internal support/operations console for log triage. It is not a centralized observability platform, not a customer-facing feature, and not a replacement for structured logging, retention, alerting, or SIEM controls. Its contract-based design—LogProvider, LogParser, LogViewerPage, schema classes, and action classes—is the strongest architectural signal: the package can be extended or partially swapped without forking immediately.

Integration feasibility: Feasible for a small team. Installation is Composer plus plugin registration in a Filament panel, with optional config publishing. Authorization is configurable through a boolean or closure, and navigation can be hidden while retaining direct route access. The compatibility matrix is explicit: ^0.x for Filament v3, ^1.x for Filament v4, ^2.x for Filament v5. This is an hours-to-days integration for a Filament-competent engineer, not a multi-sprint platform build. Main feasibility constraints are version pinning, security gating, and validating behavior against real production log formats.

Technical risk: Moderate. The package is MIT, documented, changelogged, released, and has CI badges, but it has only 53 stars and 0 dependents, which is weak ecosystem validation. It appears effectively single-maintainer, so long-term support and Filament-major upgrade cadence are adoption risks. The operational risk is higher than the code risk: Laravel logs routinely contain PII, credentials, tokens, email content, stack traces, and internal hostnames. The mail preview and “Copy as Markdown” features increase exposure surface. Destructive “Clear Logs” behavior must be deliberately disabled or tightly authorized in production. Documentation contains configuration inconsistencies worth validating—for example, the stated default max size versus the env/config example, and differing defaults around delete/copy-markdown behavior.

Key questions:

  • Which Laravel, PHP, and Filament versions are in scope, and does the package’s Composer constraint match exactly?
  • Who is authorized to view logs, clear logs, copy markdown, and preview mail? Is default access denied unless explicitly granted?
  • Do production logs contain regulated data, secrets, or customer PII that require redaction before browser display?
  • Is LOG_ENABLE_DELETE definitively false in production, and is there an audit trail for clears/truncates?
  • Are logs local to a single node, or distributed across containers/hosts where a local provider would show inconsistent data?
  • What is the expected log volume, rotation policy, and maximum file size? Will the default limit and cache behavior hold under incident-level logging?
  • Does the team need multi-panel customization? The plugin is registered as a container singleton, so provider/parser overrides apply app-wide rather than per panel.
  • Is community-only support acceptable, or is a fork/maintainer contingency required?

TPM recommendation: Treat this as an internal, admin-only operational convenience with a controlled pilot. Do not position it as compliance-grade audit tooling or the primary incident-response system. Pin the package version, validate against the target Filament major, and require explicit authorization and production-safe delete settings before rollout.

Integration Approach

Stack fit: Best fit is a Laravel application already using Filament for an internal admin or operations panel, with local file-based Laravel logs and a need for quick human-readable inspection. If the application is not on Filament, this package is the wrong abstraction—use native log tooling or a dedicated log platform instead. If logs are shipped to CloudWatch, Loki, Datadog, or similar, the built-in LocalLogProvider is only a partial fit unless a custom provider is implemented.

Migration path: There is no data migration. The package reads existing log files and adds a Filament page. A low-risk path is: install in a non-production branch, register the plugin in a staging panel, publish the config, set authorization to an explicit admin-only closure, disable delete, set a conservative max file size, and compare displayed entries against the raw log files. If replacing an existing in-app log viewer, run both in parallel for at least one support cycle before removing the old path. If extending, start by swapping only the provider or parser rather than forking the whole package.

Compatibility: The Filament major-version mapping is the critical constraint. Confirm the installed Filament version before requiring the package, then pin the corresponding package major. Verify Composer constraints for PHP and Laravel even though the README focuses on Filament compatibility. The backward-compatible Model\Log facade reduces breakage for existing custom calls, but new work should use the LogProvider contract. Localization is broad, which is useful for multilingual admin teams. Route and navigation behavior—/logs, register-navigation toggle, navigation group/icon/sort—should be tested against existing panel routing conventions.

Sequencing:

  1. Confirm Filament/Laravel/PHP versions and select the matching package major.
  2. Install and register in a staging panel only; publish config.
  3. Implement explicit authorization and decide whether navigation should be visible or direct-link only.
  4. Set production-safe controls: delete disabled, truncate behavior understood, max file size bounded, cache behavior validated, copy-markdown/mail preview assessed for sensitive data.
  5. Test with representative logs: multiline stack traces, JSON logs, rotated files, oversized files, malformed entries, and mail logs.
  6. Roll out to a small admin/support group; monitor response time, cache behavior, and access feedback.
  7. Decide whether to standardize, fork, or replace after one support cycle.

Operational Impact

Maintenance: Low code footprint but non-zero stewardship. The package is small and MIT-licensed, so forking is possible, but the team should still pin versions and track Filament major upgrades. Single-maintainer concentration and low dependent count mean the organization must own contingency planning. Changelog and release history are positive signals; CI badges suggest basic quality controls. The TPM should assign an owner for version review and a documented fallback if upstream maintenance stalls.

Support: Support is community/GitHub only, with no commercial SLA. The README is substantially better than many low-adoption packages, including configuration, authorization, extension points, localization, and compatibility. However, inconsistencies in defaults and environment examples mean the team should verify behavior in staging rather than rely on documentation alone. Internal runbooks should cover access control, safe clearing, log rotation, cache invalidation expectations, and escalation if parsing breaks.

Scaling: This is a single-panel, file-reading tool. Performance is bounded by log file size, parsing, cache behavior, and polling. The max-file-size setting is the primary guardrail; keep it conservative until real response times are measured. Caching parsed rows by file fingerprint is sensible for repeated page loads, but it does not solve very large files or high-frequency polling. In multi-node or containerized deployments, local logs differ per instance, so the viewer may show only the node serving the request. For distributed systems, plan for a custom provider backed by centralized log storage or keep this tool out of the incident-response critical path.

Failure modes:

  • Oversized or rapidly growing logs cause slow page loads, memory pressure, or timeouts.
  • Malformed or truncated log entries break parsing or hide entries.
  • File permission or rotation issues produce empty/partial views.
  • Destructive clear/truncate actions are triggered accidentally if authorization or defaults are misconfigured.
  • Sensitive log content is exposed through the table, stack traces, mail preview, or copied markdown.
  • Filament major-version mismatch breaks panel registration or UI behavior.
  • Container-singleton overrides leak across panels, surprising teams that expected per-panel customization.
  • Polling adds repeated load during incidents when logs are already large.
  • Low upstream activity leaves security or compatibility fixes dependent on internal fork capacity.

Ramp-up: Low for Filament developers and support staff. A capable engineer can install and validate in under a day; support users need only basic training on filters, date range, column toggles, log detail, and safe clear behavior. The TPM should budget time for security review and staging validation rather than installation. Best operational use is internal incident triage, support escalation, and release verification—paired with explicit access control, production-safe deletion settings, and a clear policy that this viewer is not the system of record for logs.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package