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

Laravel Extended Errors Laravel Package

swayok/laravel-extended-errors

Laravel Extended Errors enhances Laravel's exception and error handling with richer context, cleaner responses, and flexible customization for APIs and web apps, helping surface useful debugging details while keeping production errors structured and user-friendly.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

What it is. swayok/laravel-extended-errors is a developer-diagnostics package with two coupled capabilities: (1) an extended exception renderer that surfaces more context than Laravel's default debug page, and (2) Monolog handlers that emit HTML file logs and HTML emails using the same rendering, so an error email looks like the debug screen.

Architecture fit. Structurally this is a low-coupling package — the expected shape is a service provider, a publishable config, and Monolog handler/formatter classes registered as log channels. That pattern fits Laravel cleanly and does not require touching application domain code. The risk is not architectural intrusion; it is that the package sits on two of the most version-sensitive seams in the framework: the exception handler's render pipeline and Monolog's FormatterInterface/HandlerInterface contracts, both of which have broken across major versions.

Integration feasibility. Mechanically easy: composer require, publish config, add a channel, point stack at it. Realistically this is a half-day spike, not a project. The cost is not installation but validation — there is no test matrix published, no CI badge evidence in the description, and zero dependents, so nobody has exercised it against your Laravel/PHP/Monolog combination.

Technical risk.

  • Supply chain / bus factor. One star, zero dependents, one apparent maintainer. You would be the first production adopter. There is no community review of the code that will run inside your exception path.
  • Sensitive data exposure. Rendering "more info" into HTML logs and email is a data-egress decision. Request payloads, headers, cookies, session identifiers, env values, and SQL bindings are exactly what extended debug views like to show. HTML email traverses SMTP relays and mail archives; HTML file logs may be shipped to a log aggregator. This is the dominant risk and needs a redaction review before anything leaves a laptop.
  • Exception-path recursion. A formatter or mailer that throws while handling an exception can cascade or mask the original error. This must be tested with the mail transport down.
  • Release metadata anomaly. The listed last release (2026-10-23) is in the future. That is either a metadata error or a mis-tagged version. Either way, release cadence and version hygiene cannot be assessed from the registry data, which weakens any "is this maintained?" argument.
  • Opportunity score (13.69) and composite (19.57) are consistent with a young, unproven, single-purpose utility.

Key questions for the maintainer / spike.

  1. Which Laravel, PHP, and Monolog major versions are supported and tested? Monolog 3's formatter signature change is the usual breakage point.
  2. What redaction, masking, or allow-listing exists for request data, headers, session, and SQL bindings?
  3. Is HTML output escaped by default, and how does it render in Outlook/Gmail (CSS inlining, table layout, size limits)?
  4. Does the mail handler have throttling, deduplication, or rate limiting to prevent alert storms during an outage?
  5. Is the handler exception-safe — does a render or transport failure fall back to the previous handler rather than recursing?
  6. Why is the last release dated in the future? Is there a tag/tag-date mismatch?
  7. Is there a stated support window, or is this a personal-utility package published for the author's own use?

TPM read. Treat this as developer ergonomics, not infrastructure. It is plausible for local and staging environments; it is not a component to put on the production critical path without a fork-and-own decision.

Integration Approach

Stack fit. Best fit is a Laravel app on a recent major version with Monolog channel configuration already in config/logging.php, and a team that already reads Laravel debug pages. Poor fit if you have a structured-logging standard (JSON to ELK/Datadog/Splunk), a SIEM, or a compliance regime that governs what may leave the VPC — HTML logs and HTML email are both hostile to those pipelines.

Migration path. Strictly additive and reversible:

  1. Install in a branch; publish the config; leave existing channels untouched.
  2. Register a new html channel rather than replacing single/daily/stack.
  3. Add a second, separate channel for HTML email — do not reuse the existing mail channel or its recipients.
  4. Gate activation on APP_ENV !== 'production' and an explicit feature flag, so the default posture for production is off.
  5. Roll back by removing the channel from stack; no data migration, no schema change.

Compatibility work. Verify against the pinned versions before writing any config: Laravel exception handler rendering hooks, Monolog FormatterInterface signature, PHP version constraints in composer.json, and whether the package conflicts with Ignition, Telescope, Horizon, or Sentry — all of which also hook exception rendering, and collisions here produce confusing duplicate or suppressed output.

Sequencing.

  • Week 1 — spike. Install on a throwaway branch, force exceptions of each class (validation, DB, HTTP client, queue), confirm output shape and confirm no secrets render. Test with SMTP unreachable.
  • Week 2 — staging. Enable the HTML file channel only, with rotation and a size cap. No email. Evaluate log volume delta against current JSON logs.
  • Week 3 — decision gate. Go/no-go on production HTML email. If yes, restrict to a dedicated ops alias, add rate limiting, and keep JSON logging as the system of record.
  • Contingent — fork. If adopted, vendor the package under your org, pin the commit, and take ownership of the Monolog compatibility shim. Given zero dependents and a single maintainer, this is the realistic long-term path for anything beyond staging.

Decision rule to propose to engineering. Default to no for production; allow in local/staging as a developer-experience convenience. Revisit only if the team is actively debugging exception rendering and wants a faster loop.

Operational Impact

Maintenance. Low code footprint but non-trivial ownership cost, because the package touches two version-fragile seams. Budget for a compatibility review at every Laravel major upgrade and every Monolog major upgrade. With a single maintainer and no dependents, the practical assumption is that you will maintain the fork, not consume upstream. Pin an exact version and treat upgrades as deliberate work, not composer update fallout.

Support. GitHub issues only; no SLA, no security policy stated, no backport commitments. An undisclosed vulnerability in a package that renders request context into logs and email is a real exposure with no coordinated-disclosure channel. Raise this with security before production use.

Scaling.

  • Storage. HTML logs are materially larger than one-line JSON — expect a multiple, not a rounding error. With rotation and retention set, this is manageable; without them, a noisy exception loop can fill a disk. Set a hard size cap and a retention window at the channel level.
  • Email volume. An error loop that emails per occurrence is an outage amplifier. Deduplicate by exception class plus normalized message, cap sends per window, and route to an address that is not a distribution list.
  • Rendering cost. Full context capture on every exception adds latency and memory on the failure path — usually irrelevant, but noticeable under a retry storm.

Failure modes to design against.

  1. Formatter or transport throws during exception handling → masked original error or recursion. Mitigate with bubble/fallback handler ordering and a test with the mailer disabled.
  2. Secret leakage into HTML email or shipped logs. Mitigate with explicit redaction review and a pre-production grep of sample output for tokens, cookies, and connection strings.
  3. Disk exhaustion from unbounded HTML files.
  4. Alert storm from per-exception emailing during an incident.
  5. Silent breakage on framework upgrade — the formatter renders malformed output rather than failing loudly, so add a smoke test asserting the channel produces parsable output after upgrades.
  6. Log pipeline ingestion failure where a multi-line-HTML-aware collector chokes on the format and drops entries — keep JSON as the machine-readable source of truth.

Ramp-up. Minimal for a Laravel developer: config plus a channel entry, roughly an hour to first useful output. The real ramp-up is organizational — the team must internalize "this channel is for humans, JSON is for machines" so nobody starts alerting off HTML files, and on-call must know that an HTML email is a debugging aid rather than a paging signal. Document that boundary in the runbook before enabling it.

Bottom line. Worth a short, time-boxed spike for local and staging diagnostics; not worth a production dependency at this maturity, star count, and adoption level. Recommendation: pilot in non-production, keep default structured logging authoritative, and if the team genuinely values the output, fork and own it rather than depending on upstream.

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.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast