marvinlabs/laravel-discord-logger
Laravel Discord Logger adds a Discord logging channel to Laravel, sending application logs to Discord webhooks with configurable formatting, levels, and mention support. Useful for real-time alerts and monitoring without extra infrastructure.
config/logging.php channel model, so it inherits Laravel's log-level filtering, stack fan-out, and per-environment configuration. There is no database, no migration, no queue worker, and no new runtime dependency beyond an outbound HTTPS client. That means it composes with what we already run rather than adding an integration surface to own. Fit degrades only in environments where the log pipeline is already centralized (Datadog/Splunk/CloudWatch) and the requirement is durable, queryable retention — Discord is a notification surface, not a log store.discord channel, and point the stack or the exception handler at it. The failure mode of the integration is bounded: a misconfigured webhook produces failed deliveries, not application errors, because the handler fails gracefully by design. The realistic effort is not code — it is deciding which levels route to which channel and who owns that channel.@everyone, role mentions) is a notification-amplification vector if not constrained to a known allowlist. Package-level risk is the small footprint: 212 stars and effectively single-maintainer stewardship means we should pin the version and accept that patching a few hundred lines in-house is a plausible contingency.composer require, publish config, define a dedicated channel, then attach it as an additional channel on the stack rather than replacing any existing destination. Route the Laravel exception handler to a specific errors channel so uncaught exceptions get a distinct destination from general application logging. The whole change should be revertible by removing one channel entry.composer why-not), confirm the config file caches cleanly under php artisan config:cache, and confirm the package's service provider behaves under Laravel 13 if that upgrade is in flight. If the Laravel 13 migration is concurrent, sequence them together so there is a single rollback point — do not stack two independent unknowns in one release.error and above. (3) Validate formatting, truncation on long exception traces, mention behavior, and rate-limit handling under a synthetic error storm. (4) Confirm that file/stream logging still captures everything Discord receives, so Discord remains a duplicate rather than a replacement. (5) Decide the channel taxonomy — on-call alerts vs. team activity feed — and document it. (6) Canary in production against a low-traffic service before broad rollout. (7) Record the pinned version and a rollback instruction in the runbook.error/critical to Discord, keep warning and below on file/stream, add sampling or a queued throttled handler for noisy services, and aggregate exceptions rather than emitting one message per occurrence. As service count grows, this becomes one webhook per service per environment, which is a config-management problem worth solving early rather than a scaling problem in the package.@everyone in a large server. Config drift → a webhook URL committed to a repository or baked into an image.Bottom line for the roadmap: Adopt as a low-cost, low-risk notification channel for small-to-mid Laravel services where the team already lives in Discord. Do not adopt it as the primary observability destination, do not route high-volume or sensitive logs through it, and gate the decision on security sign-off for third-party log egress rather than on the technical integration, which is close to free.
How can I help you explore Laravel packages today?