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 Fluent Logger Laravel Package

ytake/laravel-fluent-logger

Laravel package that integrates Fluentd logging into your app. Configure a Fluentd channel in config/logging.php and ship structured logs to your aggregator via fluent-logger, with a service provider and facade for quick, minimal setup.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Observability/logging architecture: deciding whether application logs flow through a dedicated log aggregator (Fluentd / Fluent Bit) via the forward protocol rather than being written to local files, stdout, or a SaaS vendor SDK. This package is the Laravel-side adapter that makes that decision cheap to execute — it registers a custom Monolog handler as a Laravel logging channel, so routing logs to the aggregator becomes a config/logging.php concern instead of application code.
  • Build vs. buy (build vs. adopt): the realistic alternative is writing and maintaining your own Monolog handler + service provider (roughly a day of work plus ongoing version-churn upkeep). At 62 stars and zero dependents, the "buy" side is weak, but it is MIT-licensed, tiny in surface area, and now has a second release in the current window — 8.0.0, which brings Laravel 12 support. That cadence is a meaningful signal that the "adopt and wrap" option is being actively maintained rather than abandoned.
  • Structured logging roadmap: supports the migration from unstructured text logs to structured, msgpack/JSON-shipped events (request IDs, tenant IDs, user IDs, latency fields). That in turn unblocks downstream decisions: log-based alerting, per-tenant log routing, audit-trail retention, and cost-tiering (hot search vs. cold archive) once Fluentd fans out to Elasticsearch/OpenSearch, S3, Kafka, or Loki.
  • Platform standardization: if the org already runs Fluentd/Fluent Bit as shared infrastructure (common in Kubernetes/CNCF-aligned stacks), this package lets PHP services join that pipeline instead of becoming a logging snowflake that the platform team must special-case.
  • Use cases to scope: multi-tenant SaaS needing per-tenant log segregation; regulated environments needing durable, tamper-resistant audit logs; high-volume APIs where per-request local file I/O is a measurable cost; Lumen microservices that need the same logging contract as the main Laravel app.
  • What it should not drive: it is not a metrics, tracing, or APM decision. It is a log transport seam only. Do not let adoption of this package stand in for an observability strategy.

When to Consider This Package

Consider adoption when most of these are true:

  • The service is Laravel or Lumen and uses the framework's standard logging stack (config/logging.php, Monolog channels) — this is an adapter, not a replacement.
  • Your framework version is in scope. 8.0.0 explicitly adds Laravel 12 support (the shipped change is a test-suite fix, PR #59), so a Laravel 12 target is now a supported path. The jump from 7.0.0 to 8.0.0 is a major version bump, which conventionally signals a compatibility break — read the composer.json constraint diff in that release before assuming older Laravel/PHP versions remain supported.
  • Fluentd or Fluent Bit is already deployed or is on the committed roadmap. Both accept the forward protocol, so the same driver serves a heavyweight Fluentd aggregator or a lightweight Fluent Bit DaemonSet/sidecar.
  • You need structured, typed log events rather than interpolated strings, and you want the schema owned in application code rather than in a log-parsing regex layer.
  • You want the logging destination to be swappable by config (dev → file/stderr, prod → aggregator) without conditional code in the app.
  • You can accept a single-maintainer, low-adoption dependency and are prepared to vendor/pin it, which is reasonable given the small code footprint.
  • The team's appetite for custom infrastructure code is low and a config-driven channel is worth more than zero-dependency purity.

Look elsewhere when:

  • You are not running Fluentd/Fluent Bit and have no intention to. Use Laravel's built-in daily/stderr channels, or a first-party driver for your actual backend (CloudWatch, Stackdriver, Papertrail, Sentry, Loki via a maintained handler). Adopting this package without the aggregator adds a hop and an operational surface for no benefit.
  • Throughput and failure isolation are hard requirements. Logging over a network socket adds a failure mode (aggregator down → blocked or dropped writes). Verify blocking behavior and timeout handling in a spike; if you need guaranteed non-blocking behavior, a sidecar/agent that tails files or stdout (Fluent Bit reading container stdout) is usually the more robust pattern and removes the in-process dependency entirely.
  • Dependency risk is unacceptable — regulated, long-lived, or audited codebases where an unmaintained or single-maintainer package is a compliance finding. 62 stars and 0 dependents means no community safety net; the cost of a 100-line in-house handler is trivial by comparison, and you own it. The 8.0.0 release shows the maintainer is still shipping for new Laravel versions, which softens this concern but does not remove the bus-factor.
  • Version compatibility is a mismatch. With 8.0.0 the supported-framework question shifts rather than disappears: Laravel 12 is covered, but confirm what the major bump dropped. A logging driver that breaks on a framework upgrade is a nuisance you don't need.
  • You need advanced features — sampling, rate limiting, buffering/retry semantics, PII redaction, or per-channel routing logic. Those belong in Monolog processors/handlers or in the aggregator, not here.

Recommendation: treat this as a spike, not a commitment. Timebox an evaluation (half a day): wire it to a local Fluent Bit forward input, confirm structured payload shape and failure behavior, and confirm it survives a framework upgrade path. Target 8.0.0 for the spike, since it is the first release with Laravel 12 coverage — and while you're in there, capture the actual composer.json constraints from the 7→8 diff so the version-pin decision is informed rather than assumed. If it passes, pin the exact version and hide it behind a named logging channel so the swap-out cost stays at one config line.

How to Pitch It (Stakeholders)

To executives: This is a small, free (MIT), actively released open-source adapter that connects our Laravel services to the log-aggregation infrastructure we already pay for. It replaces a piece of custom glue code we would otherwise write and maintain, and it makes logging a configuration choice rather than application logic — which lowers the cost of future changes like per-tenant log separation or compliance-grade audit retention. The latest release, 8.0.0, adds support for the current Laravel major version, so the maintenance signal has improved since we last looked. The risk profile is still the honest part: it is maintained by a single author with minimal community adoption, so we propose a short, bounded evaluation and a vendor-and-pin mitigation rather than a broad rollout. Worst case, the fallback is roughly a day of in-house work, so the downside is capped.

To engineering: It's a thin Laravel logging-channel driver wrapping a Monolog handler for the Fluentd forward protocol — no framework surgery, no service-provider magic beyond channel registration. It gives us structured event shipping to Fluentd or Fluent Bit from a single config/logging.php entry, keeps dev/prod parity via channel selection, and removes ad-hoc Log::info(json_encode(...)) patterns from the codebase. 8.0.0 lands Laravel 12 support (the visible change is a test-suite fix, PR #59); it's a major bump, so read the composer constraint diff to know exactly which Laravel/PHP ranges are in and out before we pin. Known constraints: single maintainer, near-zero dependents, so pin the version and keep it behind an interface; and it does not solve backpressure — if the aggregator stalls, we need to know whether the process blocks, so that must be measured, not assumed. If the spike shows unacceptable coupling, the alternative is Fluent Bit tailing container stdout, which drops the in-process dependency entirely.

Ask: approve a half-day spike and a version-pinned (8.0.0) trial on one non-critical service, with a documented exit path to either an in-house handler or stdout-tailing.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib