laravel-exception-handling-and-logging

star 136

Use reportable/renderable exceptions, structured logs, and channel strategy for observability and graceful failures

jpcaparas By jpcaparas schedule Updated 11/4/2025

name: laravel:exception-handling-and-logging description: Use reportable/renderable exceptions, structured logs, and channel strategy for observability and graceful failures

Exception Handling and Logging

Treat errors as first-class signals; provide context and paths to remediation.

Commands

// app/Exceptions/Handler.php
public function register(): void
{
    $this->reportable(function (DomainException $e) {
        Log::warning('domain exception', ['code' => $e->getCode()]);
    });

    $this->renderable(function (ModelNotFoundException $e, $request) {
        if ($request->expectsJson()) {
            return response()->json(['message' => 'Not Found'], 404);
        }
    });
}

Patterns

  • Use domain-specific exceptions for expected error paths
  • Add structured context to logs; avoid logging secrets
  • Route noisy logs to separate channels; keep defaults actionable
  • Convert to API-appropriate responses in renderable()
Install via CLI
npx skills add https://github.com/jpcaparas/superpowers-laravel --skill laravel-exception-handling-and-logging
Repository Details
star Stars 136
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator