- Is keboola/logging-bundle a Laravel package?
- No, it is a Symfony bundle, not a Laravel package. It provides a Monolog processor that adds Datadog trace and span IDs to log records when the ddtrace extension is loaded. Laravel apps can use the processor directly in a logging channel tap without registering the Symfony bundle. Installing the full bundle in Laravel pulls Symfony components you do not need.
- How do I install keboola/logging-bundle with Composer?
- Run composer require keboola/logging-bundle:^2.0. Version 2 requires Monolog 3 and supports Symfony 7 alongside Symfony 6.4. For Laravel 10, 11, or 12, which ship Monolog 3, the dependency constraint is compatible. If you only need the processor, consider vendoring it instead of installing the bundle.
- How do I use the Datadog context processor in Laravel?
- Reference Keboola\LoggingBundle\Monolog\DataDogContextProcessor in the tap array of a Laravel logging channel in config/logging.php. The processor adds extra.dd.trace_id and extra.dd.span_id to each Monolog record when DDTrace current context is available. You do not need to register the Symfony bundle or its DI extension. This gives the same behavior with a one-file configuration change.
- Does keboola/logging-bundle require the ddtrace PHP extension?
- The bundle does not hard-require ddtrace at Composer level, but its processor only adds correlation fields when the DDTrace current context function exists. Without the extension the package is inert and safe, but it also fails silently: logs get no dd.trace_id or dd.span_id and no error is raised. Verify the extension is loaded in any environment where you expect trace correlation.
- What changed in keboola/logging-bundle 2.0.0?
- Version 2.0.0 is mainly a compatibility release: it drops Monolog 2 support, requires Monolog 3, and explicitly supports Symfony 7 while retaining Symfony 6.4. The processor logic and the extra.dd key contract did not change according to the release context. If you vendored an older copy, recheck the processor signature for Monolog 3's LogRecord API.
- Which Laravel versions are compatible with keboola/logging-bundle 2.0?
- Laravel 10, 11, and 12 ship Monolog 3, so their dependency constraints align with the 2.0 requirement. Laravel 8 and earlier use Monolog 2 and cannot install version 2 without dependency conflicts. For older Laravel services, vendor the small processor class into your application instead of depending on the bundle. The package does not provide a Laravel service provider or auto-discovery.
- Can I use keboola/logging-bundle in production safely?
- The extension-presence guard makes it low risk: if ddtrace is missing, the processor does nothing and does not throw. The main production concern is silent misconfiguration, because missing trace correlation produces no warning. Confirm that ddtrace is loaded and that Datadog APM is active in each container before relying on the dd fields. Also review the transitive Symfony dependencies if you install the full bundle in a Laravel app.
- Do I need to configure the Keboola logging bundle?
- The bundle has no user-facing configuration; its DI extension checks for the ddtrace function at container compile time and registers the processor. In Symfony you register the bundle and Monolog uses the tagged processor. In Laravel you skip the bundle and add the processor class to a channel tap. There are no facades, service providers, or config options to publish.
- What are alternatives to installing the Symfony bundle for Datadog log correlation?
- The cleanest alternative is to vendor the roughly 20-line DataDogContextProcessor into app/Logging with MIT attribution and reference it from your Laravel logging tap. Another option is to write a small Monolog processor yourself that reads DDTrace current context and adds extra.dd.trace_id and extra.dd.span_id. Installing the Composer package and using only the processor class is a fallback if you want upstream maintenance. All three approaches avoid booting Symfony DI in Laravel.
- Is keboola/logging-bundle actively maintained and well adopted?
- It is published by Keboola, a credible vendor, and the 2.0.0 release shows recent formalization onto Monolog 3 and Symfony 7. Adoption signals are very low, with about one star, no dependents, and little third-party production evidence. Treat it as a small utility rather than a broadly validated ecosystem package, and pin versions or vendor the processor. Monitor the repository for fixes if you choose the dependency path.