dreamfactory/df-mongo-logs
DreamFactory package that routes platform logs to MongoDB, helping centralize and persist API request and system log data for easier monitoring, querying, and retention in MongoDB-backed environments.
Architecture fit. dreamfactory/df-mongo-logs is not a general-purpose Laravel library; it is a DreamFactory service connector — a plugin that registers a new service type with the DreamFactory platform and exposes a MongoDB-backed logging endpoint through DreamFactory's auto-generated REST API. Architecturally it only fits if you are already committing to DreamFactory as your API layer. In a plain Laravel application it has no meaningful role: it depends on DreamFactory's connector base classes (df-core), its service-type registration conventions, and the platform's request-handling lifecycle rather than Laravel's own routing, middleware, or Eloquent stack. The repository link resolving to df-skeleton (the starter template for connectors) strongly suggests the package is a scaffold-derived connector rather than a hardened, purpose-built integration.
Integration feasibility. Feasible but narrow. Integration is Composer-based (composer require dreamfactory/df-mongo-logs into a DreamFactory instance), followed by service-type discovery and configuration through the DreamFactory admin console. There is no meaningful public documentation, no README-level usage guide in the referenced repo, and no examples of configuration schemas for the MongoDB connection (URI, database, collection, auth). A TPM should assume a non-trivial reverse-engineering effort to understand required config keys and expected document shape. This is not a "composer require and go" package.
Technical risk. High, and concentrated in abandonment and coupling:
mongodb/mongodb library have had breaking changes since 2019. A pinned, stale connector is likely to conflict with a current driver.Key questions to resolve before committing:
df-core constraint, and is that constraint satisfiable alongside our other connectors?mongodb/mongodb version range does it accept, and does it overlap with our supported range?Stack fit. This package fits exactly one stack: a DreamFactory deployment on PHP, managed via Composer, where a MongoDB log store is the desired backing service. If the target application is a conventional Laravel app, or a Laravel app that merely uses DreamFactory as an edge API gateway, this connector belongs at the gateway tier only and should be treated as platform infrastructure, not application code. If the stack is non-PHP or non-DreamFactory, do not integrate — the effort-to-value ratio is poor.
Migration path. Two viable paths:
composer.json path/VCS repository entry, and pin it explicitly. Do not depend on Packagist resolution for an unmaintained package. Add PHP 8 compatibility shims and a driver-version constraint you control, then validate against a DreamFactory instance in a disposable environment.mongodb/mongodb library and a Laravel logging channel / Monolog handler. This eliminates the DreamFactory coupling entirely and removes an abandoned dependency from the critical path. The connector's value is only in the DreamFactory auto-generated REST surface; if that surface is not required, the package should be dropped.Compatibility. Three axes must be reconciled simultaneously: DreamFactory release version → df-core constraint → PHP version → ext-mongodb and mongodb/mongodb versions. Because the package is frozen at 2019, expect at least one axis to require patching. Treat the first integration milestone as a pure compatibility spike (spin up, install, boot the connector, confirm service registration appears) before any feature work.
Sequencing.
composer install in a throwaway environment to surface dependency conflicts.Maintenance. Effectively zero upstream. The package has had no release since October 2019, no dependents, and no community. Any maintenance is 100% internal: PHP upgrades, driver upgrades, DreamFactory upgrades, and security patching all become our responsibility the moment it enters production. Budget for this as an owned component, not a consumed dependency.
Support. No vendor SLA, no issue triage, no security disclosure channel, no maintainer responsiveness to lean on. Escalation paths are limited to the DreamFactory commercial offering (if licensed) — and even then, the vendor is unlikely to support a 2019 third-party connector. Internal on-call ownership is the realistic support model.
Scaling. The connector itself is thin — it delegates to MongoDB — so throughput and storage scale are governed by the MongoDB cluster, not the package. The realistic scaling concerns are: connection pooling behavior under DreamFactory's request model (one process per request), write amplification if logging volume is high, collection growth and index management, and the risk that an unmaintained connector lacks backpressure or batching. Plan for MongoDB-side capacity and retention (TTL indexes) rather than expecting the connector to manage it.
Failure modes to instrument for:
df-core or PHP mismatch can break service registration and take down the DreamFactory service catalog, not just this connector.Mitigations: health-check the log endpoint independently of the main API, alert on write failure rate, cap log volume at the MongoDB layer, and isolate the service type so a failure degrades only logging.
Ramp-up. Steep relative to the package's apparent simplicity. Engineers need working knowledge of DreamFactory's connector architecture (service type JSON, ServiceProvider registration, df-core base classes), the DreamFactory admin console, and the MongoDB PHP driver. There is no documentation to shortcut this, so onboarding cost is essentially "read the skeleton and the source." Estimate one to two engineering weeks for a competent PHP engineer to reach productive confidence, and treat a single named owner as a prerequisite for adoption. Given zero stars, zero dependents, an abandoned 2019 release, and a low overall score, the default recommendation is to evaluate the replacement path first and adopt this connector only if DreamFactory-native service exposure is a hard requirement that cannot be met another way.
How can I help you explore Laravel packages today?