aboutcoders/logger-bundle
Symfony bundle exposing a REST API to accept log messages from external apps. Configure allowed application names and map each to a Monolog channel, then POST level, message, and optional context to /api/log/{app}. Integrates with FOSRest and NelmioApiDoc.
monolog/monolog).spatie/laravel-monolog + custom routes).app_name in config).spatie/laravel-monolog + custom API routes).AbcLoggerController in Laravel’s routing).FOSRestBundle (Symfony) → Replace with Laravel’s built-in API tools (laravel/framework routes + fruitcake/laravel-cors for CORS).NelmioApiDocBundle (Symfony) → Replace with Laravel’s darkaonline/l5-swagger or spatie/laravel-api-documentation.AppKernel, SensioFrameworkExtraBundle v4+ changes).
monolog/handler-async).| Component | Symfony Fit | Laravel Fit | Notes |
|---|---|---|---|
| Logging | Native | Via spatie/laravel-monolog |
Monolog core is identical. |
| REST API | FOSRest | Laravel Routes + fruitcake/laravel-cors |
Replace FOSRest with native tools. |
| API Docs | Nelmio | darkaonline/l5-swagger or Spatie |
Optional but recommended. |
| Dependency Injection | Symfony DI | Laravel’s Container | Minimal changes needed. |
| Routing | YAML | routes/api.php |
Simple migration. |
Symfony (Direct Integration):
FOSRestBundle, NelmioApiDocBundle).AbcLoggerBundle to AppKernel.php.abc_logger in config.yml (channels, allowed apps)./api/log) with curl/Postman.Laravel (Custom Implementation):
composer require spatie/laravel-monolog
Configure in config/logging.php.routes/api.php):
Route::post('/log', [LoggerController::class, 'store']);
AbcLoggerBundle logic:
X-App-Name header.laravel-sanctum for tokens).l5-swagger.Hybrid Approach:
vendor/aboutcoders/logger-core) that works in both stacks.^2.0).FOSRestBundle/NelmioApiDocBundle may need updates for Symfony 5/6.spatie/laravel-monolog) are actively maintained.monolog/handler-async + Redis).monolog/handler-async).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| REST endpoint downtime | Log loss | Implement retry logic in clients. |
| Monolog misconfiguration | Logs to wrong channel/file | Validation in config + tests. |
| Auth bypass | Unauthorized log injection | Rate limiting + IP whitelisting. |
| High log volume | API timeouts | Async logging + queue workers. |
| Dependency conflicts | Bundle breaks on upgrade | Containerize (Docker) for isolation. |
How can I help you explore Laravel packages today?