The Beutsing LogEntry Bundle allows you to easily record user actions in your Symfony application.
Every significant action (creation, modification, deletion, etc.) can be automatically or manually logged in a log_entries table.
This bundle uses Doctrine ORM to persist logs and can be integrated into any Symfony 6, 7, or 8 project.
composer require beutsing/log-entry-bundle
php bin/console make:migration
php bin/console doctrine:migrations:migrate
Symfony will generate a migration file like Version20260309XXXXXX.php (depending on the date and time), which will create the log_entry table in your database.
The log_entry table includes the following fields:
Field |
Description |
|---|---|
| id | Unique identifier of the log |
| userIdentifier | Identifier of the user (email, username, etc.) |
| companyid (string) | Optional company identifier |
| action (string) | Action performed by the user |
| message (text) | Descriptive message related to the action |
| createdAt (datetime) | Date and time of log creation |
<?php
use Beutsing\LogEntryBundle\Service\LogEntryService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class SomeController extends AbstractController
{
public function someAction(LogEntryService $logService)
{
$logService->log(
'CREATE_USER',
'A new user has been created',
'COMPANY123'
);
return $this->json(['status' => 'ok']);
}
}
Notes
The log service can be injected in any controller or service using Symfony's autowiring.
The createdAt field is automatically set when a log entry is created.
The userIdentifier field is automatically filled with the identifier of the currently authenticated user (email, username, etc.).
If you run composer update beutsing/log-entry-bundle to update the bundle, you must also execute the migration commands to update your database:
php bin/console make:migration
php bin/console doctrine:migrations:migrate
How can I help you explore Laravel packages today?