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 Settings Discord Logger Laravel Package

jeffersongoncalves/laravel-settings-discord-logger

A Laravel package that adds a Discord logging channel configured through Laravel Settings, making it easy to send application logs to Discord webhooks with minimal setup and runtime-configurable options.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for operational plumbing: This package is the "buy" answer to a recurring roadmap question — "do we want to build our own DB-driven config layer for logging channels?" It wraps the existing jeffersongoncalves/laravel-discord-logger channel with spatie/laravel-settings, so the team buys a thin adapter rather than owning a bespoke settings/overrides system.
  • Runtime configurability as a feature, not a deploy: Storing webhook URLs, levels, mentions, deduplication and rate-limit thresholds in the database means ops/support can tune alerting behaviour without a code deploy or .env edit. That directly supports decisions like "can we let on-call engineers retune alerts during an incident?" or "do we need an admin UI for notifications?"
  • Multi-tenant / per-environment notification strategy: Per-level webhook overrides (encrypted) and per-level mentions make it feasible to route error to one channel and info elsewhere. Useful when scoping a roadmap item around tenant-specific or team-specific alert routing.
  • Security & compliance posture: Encrypted webhook storage plus "empty stored value falls back to LOG_DISCORD_WEBHOOK_URL" is a decision-enabler for secrets handling — PMs can defend "no secrets in version control, no secrets in plaintext DB columns" without commissioning custom work.
  • Upgrade/migration safety as a release criterion: The seeded migration from current config means .env-based installs keep working untouched. That underpins a "ship without a coordinated rollout plan" decision — low blast radius, no forced migration comms.
  • Testability in the definition of done: discord-logger:test using the stored webhook means the admin-UI acceptance criterion "verify my saved webhook works" can be met out of the box rather than built into our own settings screen.
  • Platform/runtime roadmap constraint: PHP 8.2+ and Laravel 12.61+/13 sets a floor. If the platform team is weighing "stay on Laravel 11 one more quarter" vs. "adopt this", that becomes an explicit, dated trade-off rather than a surprise.

When to Consider This Package

Good fit when:

  • You already run (or intend to run) jeffersongoncalves/laravel-discord-logger and spatie/laravel-settings — this is an adapter between two dependencies you've already accepted, not a new ecosystem.
  • Alerting configuration genuinely changes at runtime: on-call rotations, per-team channels, seasonal noise suppression, incident-time level bumps.
  • You have (or plan) an admin surface where non-engineers adjust notification behaviour, and you want encrypted secrets and validation handled by the settings layer rather than by hand.
  • You're on PHP 8.2+ and Laravel 12.61+/13 and can absorb that floor.
  • You value a zero-touch migration from .env-driven config — greenfield or existing installs both upgrade without ceremony.

Look elsewhere or defer when:

  • Logging config is stable and .env-only is genuinely sufficient. This package adds a settings table, a migration, and a third dependency to solve a problem you don't have.
  • You don't use spatie/laravel-settings and have no appetite for adopting it — the value proposition is inseparable from that dependency.
  • You're pinned below Laravel 12.61 or PHP 8.2. Hard blocker, not a soft one.
  • You need multi-channel/non-Discord destinations. This is Discord-specific by design; abstracting later means either forking the channel factory or layering your own settings contract on top.
  • You require a stable API with a support track record. Version 1.0.0 is a first release with no prior assessment, no adoption history, and no evidence of maintenance cadence — treat it as an evaluated dependency, not an assumed one.
  • Governance demands vendor-backed support or a security review of transitive dependencies; a single-maintainer package plus spatie/laravel-settings plus the underlying logger is a supply-chain surface to review deliberately.

How to Pitch It (Stakeholders)

To executives (30 seconds): This is a small, low-risk package that lets us change how we send operational alerts to Discord from a settings screen instead of shipping code. It encrypts webhook credentials, works with our existing configuration without a migration project, and sits on top of two libraries we'd likely use anyway. The cost is one new dependency and a settings table; the benefit is that alert tuning stops being an engineering ticket. It's a tinkerer-scale commitment, not a platform bet — and because it's v1.0.0 from a single maintainer, I'd position it as "adopt behind our logging abstraction, don't hard-code to it."

To engineering leads: The value is concentrated in two places: the SettingsLogger channel factory that merges stored values over config on first use of the discord channel, and the seeded migration that preserves existing .env setups. Both are exactly the fiddly bits we'd otherwise write and maintain ourselves. Watch the coupling — we're taking spatie/laravel-settings and the underlying Discord logger as hard dependencies, and the runtime floor is PHP 8.2 / Laravel 12.61+/13. Recommend we (a) verify our framework version, (b) confirm the automatic channel registration and the "upgrade a plain Logger channel" behaviour doesn't collide with any custom channel definitions we already have, and (c) wrap usage so swapping implementations later is a config change rather than a refactor.

To security/compliance: Webhook URLs and per-level webhooks are stored encrypted, and an empty stored value falls back to the env var rather than blanking it — so secrets never need to live in the database in plaintext and existing .env practice remains valid. The settings migration seeds from current config; no credentials are introduced by installing it. Please scope review to the two transitive dependencies and confirm our encryption key management covers the new settings table.

Recommendation: Approve a time-boxed spike, not a broad rollout. Wire it behind the existing logging abstraction, exercise discord-logger:test against a stored webhook, and revisit once we have a release or two of maintenance signal.

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.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log