| exception |
Symfony\Component\HttpClient\Exception\ClientException {#2053
#message: "HTTP/2 401 returned for "https://api.openai.com/v1/chat/completions"."
#code: 401
#file: "/home/batrams/Kplan/vendor/symfony/http-client/Response/TraceableResponse.php"
#line: 209
-response: Symfony\Component\HttpClient\Response\TraceableResponse {#1992 …}
trace: {
/home/batrams/Kplan/vendor/symfony/http-client/Response/TraceableResponse.php:209 {
Symfony\Component\HttpClient\Response\TraceableResponse->checkStatusCode(int $code): void …
› if (400 <= $code) {
› throw new ClientException($this);
› }
}
/home/batrams/Kplan/vendor/symfony/http-client/Response/TraceableResponse.php:100 {
Symfony\Component\HttpClient\Response\TraceableResponse->getContent(bool $throw = true): string …
› if ($throw) {
› $this->checkStatusCode($this->response->getStatusCode());
› }
arguments: {
$code: 401
}
}
/home/batrams/Kplan/src/Domain/Services/AI/OpenAiAPIService.php:72 {
App\Domain\Services\AI\OpenAiAPIService->{closure:App\Domain\Services\AI\OpenAiAPIService::analyseKPI():58} …
›
› return $response->getContent();
› });
}
/home/batrams/Kplan/vendor/symfony/cache/Adapter/TraceableAdapter.php:48 {
Symfony\Component\Cache\Adapter\TraceableAdapter->{closure:Symfony\Component\Cache\Adapter\TraceableAdapter::get():45} …
›
› return $callback($item, $save);
› };
arguments: {
Symfony\Component\Cache\CacheItem {#1963 …}
true
}
}
/home/batrams/Kplan/vendor/symfony/cache/LockRegistry.php:111 {
Symfony\Component\Cache\LockRegistry::compute(callable $callback, ItemInterface $item, bool &$save, CacheInterface $pool, ?Closure $setMetadata = null, ?LoggerInterface $logger = null): mixed …
›
› $value = $callback($item, $save);
›
arguments: {
Symfony\Component\Cache\CacheItem {#1963 …}
true
}
}
/home/batrams/Kplan/vendor/symfony/cache/Traits/ContractsTrait.php:102 {
Symfony\Component\Cache\Adapter\AbstractAdapter->{closure:Symfony\Component\Cache\Traits\ContractsTrait::doGet():85} …
› try {
› $value = ($this->callbackWrapper)($callback, $item, $save, $pool, function (CacheItem $item) use ($setMetadata, $startTime, &$metadata) {
› $setMetadata($item, $startTime, $metadata);
arguments: {
$callback: Closure(CacheItem $item, bool &$save) {#2025 …}
$item: Symfony\Component\Cache\CacheItem {#1963 …}
&$save: true
$pool: Symfony\Component\Cache\Adapter\FilesystemAdapter {#959 …}
$setMetadata: Closure(CacheItem $item) {#1960 …}
$logger: Monolog\Logger {#962 …}
}
}
/home/batrams/Kplan/vendor/symfony/cache-contracts/CacheTrait.php:64 {
Symfony\Component\Cache\Adapter\AbstractAdapter->contractsGet(CacheItemPoolInterface $pool, string $key, callable $callback, ?float $beta, ?array &$metadata = null, ?LoggerInterface $logger = null): mixed …
› $save = true;
› $item->set($callback($item, $save));
› if ($save) {
arguments: {
Symfony\Component\Cache\CacheItem {#1963 …}
true
}
}
/home/batrams/Kplan/vendor/symfony/cache/Traits/ContractsTrait.php:85 {
Symfony\Component\Cache\Adapter\AbstractAdapter->doGet(AdapterInterface $pool, string $key, callable $callback, ?float $beta, ?array &$metadata = null): mixed …
›
› return $this->contractsGet($pool, $key, function (CacheItem $item, bool &$save) use ($pool, $callback, $setMetadata, &$metadata, $key) {
› // don't wrap nor save recursive calls
arguments: {
$pool: Symfony\Component\Cache\Adapter\FilesystemAdapter {#959 …}
$key: "011faf1e180fe65f70e532d1ea39d0e6"
$callback: Closure(CacheItem $item, bool &$save) {#1968 …}
$beta: 1.0
&$metadata: []
$logger: Monolog\Logger {#962 …}
}
}
/home/batrams/Kplan/vendor/symfony/cache-contracts/CacheTrait.php:30 {
Symfony\Component\Cache\Adapter\AbstractAdapter->get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed …
› {
› return $this->doGet($this, $key, $callback, $beta, $metadata);
› }
arguments: {
$pool: Symfony\Component\Cache\Adapter\FilesystemAdapter {#959 …}
$key: "011faf1e180fe65f70e532d1ea39d0e6"
$callback: Closure(CacheItem $item, bool &$save) {#2025 …}
$beta: 1.0
&$metadata: []
}
}
/home/batrams/Kplan/vendor/symfony/cache/Adapter/TraceableAdapter.php:53 {
Symfony\Component\Cache\Adapter\TraceableAdapter->get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed …
› try {
› $value = $this->pool->get($key, $callback, $beta, $metadata);
› $event->result[$key] = get_debug_type($value);
arguments: {
$key: "011faf1e180fe65f70e532d1ea39d0e6"
$callback: Closure(CacheItem $item, bool &$save) {#2025 …}
$beta: null
&$metadata: []
}
}
/home/batrams/Kplan/src/Domain/Services/AI/OpenAiAPIService.php:58 {
App\Domain\Services\AI\OpenAiAPIService->analyseKPI(string $prompt): array …
›
› $response = $this->cache->get($cacheKey, function(ItemInterface $item) use ($prompt) {
› $item->expiresAfter(self::CACHE_DURATION);
arguments: {
$key: "011faf1e180fe65f70e532d1ea39d0e6"
$callback: Closure(CacheItem $item, bool &$save) {#2025 …}
}
}
/home/batrams/Kplan/src/Domain/UseCase/AI/DashboardInsightUseCase.php:20 {
App\Domain\UseCase\AI\DashboardInsightUseCase->execute(array $kpis): array …
›
› return $this->openAPIService->analyseKPI($prompt);
› }
arguments: {
$prompt: """
Tu es un expert en suivi-évaluation de projets gouvernementaux. Je vais te fournir un ensemble de données (KPIs globaux, projets en retard, incidents...).\n
Génère une liste d'insights structurés en JSON respectant strictement le modèle suivant :\n
[\n
{\n
"observation": "[emoji] Titre de l’observation (phrase courte)",\n
"description": "Texte explicatif ou analyse en une phrase",\n
"actionable_steps": ["Étape concrète à envisager", "Autre action à prendre"],\n
"keywords": ["mot-clé-1", "mot-clé-2"]\n
}\n
]\n
Ne commente pas. Ne fournis aucun texte hors du tableau JSON.Voici les données :\n
- execution_rate : 1.28 (metadata : {"value":1.28,"period":"2025-09","variation":0,"department":null,"performance":0,"project_count":1})\n
- milestone_processing_delay : 0 (metadata : {"value":0,"department":null,"fill_delay":13.03,"approve_delay":0,"validate_delay":0,"fill_trend_delay":0,"approve_trend_delay":0,"validate_trend_delay":0})\n
- milestone_performance_score : 0 (metadata : {"value":0,"metadata":{"raw_delays":{"fill_delay":0,"approve_delay":0,"validate_delay":0},"weighted_delay":0},"department":null})\n
- top_5_projects : 0 (metadata : {"value":0,"metadata":[],"department":null})\n
- flop_5_projects : 0 (metadata : {"value":0,"metadata":[{"id":1,"owner":"SENTER\/DG","acronym":"MEPDU","gap_avg":-98.72,"project":"Mise en place d'une usine de Traverse en B\u00e9ton","performance":1.28,"actual_progress_avg":1.28,"planned_progress_avg":100,"relative_performance":1.28}],"department":null})\n
- projects_performance : 1.28 (metadata : {"trend":0,"value":1.28,"period":"2025-09","variation":0,"department":null,"project_count":1,"project_count_status":"stable","delayed_project_count":1,"on_time_project_count":0})\n
- budget_allocated : 10000000000 (metadata : {"unit":"FCFA","value":10000000000,"department":null})\n
- budget_committed : 2603000 (metadata : {"unit":"FCFA","value":2603000,"department":null})\n
- budget_disbursed : 0 (metadata : {"unit":"FCFA","value":0,"department":null})\n
- budget_execution_rate : 0 (metadata : {"unit":"%","value":0,"department":null})\n
\n
Rédige les insights sous forme de liste avec des emojis et des mots-clés utiles.
"""
}
}
/home/batrams/Kplan/src/Controller/Dashboard/DashboardController.php:113 {
App\Controller\Dashboard\DashboardController->dashboardInsights(Request $request, DashboardInsightUseCase $useCase): JsonResponse …
› $kpis = $this->getKpis($organization, $periodMonth, $periodYear, $department);
› $insights = $useCase->execute($kpis);
›
arguments: {
$kpis: [ …10]
}
}
/home/batrams/Kplan/vendor/symfony/http-kernel/HttpKernel.php:183 {
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
› // call controller
› $response = $controller(...$arguments);
›
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#8 …}
$useCase: App\Domain\UseCase\AI\DashboardInsightUseCase {#993 …}
}
}
/home/batrams/Kplan/vendor/symfony/http-kernel/HttpKernel.php:76 {
Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $response = $this->handleRaw($request, $type);
› } catch (\Throwable $e) {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#8 …}
$type: 1
}
}
/home/batrams/Kplan/vendor/symfony/http-kernel/Kernel.php:182 {
Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $this->getHttpKernel()->handle($request, $type, $catch);
› } finally {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#8 …}
$type: 1
$catch: true
}
}
/home/batrams/Kplan/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
› {
› $response = $this->kernel->handle($this->request);
›
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#8 …}
}
}
/home/batrams/Kplan/vendor/autoload_runtime.php:29 {
require_once …
› ->getRunner($app)
› ->run()
› );
}
/home/batrams/Kplan/public/index.php:5 {
›
› require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
›
arguments: {
"/home/batrams/Kplan/vendor/autoload_runtime.php"
}
}
}
} |
| logger |
Symfony\Bridge\Monolog\Processor\DebugProcessor {#515
-records: [
"" => [
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.928+02:00"
"message" => "Warning: Zend OPcache API is restricted by "restrict_api" configuration directive"
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"exception" => Symfony\Component\ErrorHandler\Exception\SilencedErrorContext {#489
+count: 8
-severity: E_WARNING
trace: {
/home/batrams/Kplan/vendor/symfony/error-handler/DebugClassLoader.php:296 {
Symfony\Component\ErrorHandler\DebugClassLoader->loadClass(string $class): void …
› // no-op
› } elseif (\function_exists('opcache_is_script_cached') && @opcache_is_script_cached($file)) {
› include $file;
}
/home/batrams/Kplan/vendor/doctrine/doctrine-bundle/src/DoctrineBundle.php:132 {
›
› $this->autoloader = Autoloader::register($dir, $namespace, $proxyGenerator);
› }
}
}
}
]
"channel" => "php"
]
]
8 => [
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.931+02:00"
"message" => "Matched route "{route}"."
"priority" => 200
"priorityName" => "INFO"
"context" => [
"route" => "app_dashboard_insights"
"route_parameters" => [
"_route" => "app_dashboard_insights"
"_controller" => "App\Controller\Dashboard\DashboardController::dashboardInsights"
]
"request_uri" => "https://kplan.kameldigitalsn.com/dashboard/insights?department=&periodMonth=9&periodYear=2025&scope=ORGANIZATION"
"method" => "GET"
]
"channel" => "request"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.948+02:00"
"message" => "Connecting with parameters {params}"
"priority" => 200
"priorityName" => "INFO"
"context" => [
"params" => [
"dbname" => "batramskplan"
"host" => "batramskplan.mysql.db"
"port" => "3306"
"user" => "batramskplan"
"password" => "<redacted>"
"use_savepoints" => true
"driver" => "pdo_mysql"
"idle_connection_ttl" => 600
"driverOptions" => []
"defaultTableOptions" => [
"collation" => "utf8mb4_unicode_ci"
]
"charset" => "utf8mb4"
]
]
"channel" => "doctrine"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.953+02:00"
"message" => "User Deprecated: Using ArrayAccess on Doctrine\ORM\Mapping\FieldMapping is deprecated and will not be possible in Doctrine ORM 4.0. Use the corresponding property instead. (ArrayAccessImplementation.php:31 called by AbstractAnnotationDriver.php:134, https://github.com/doctrine/orm/pull/11211, package doctrine/orm)"
"priority" => 200
"priorityName" => "INFO"
"context" => [
"exception" => ErrorException {#754
#message: "User Deprecated: Using ArrayAccess on Doctrine\ORM\Mapping\FieldMapping is deprecated and will not be possible in Doctrine ORM 4.0. Use the corresponding property instead. (ArrayAccessImplementation.php:31 called by AbstractAnnotationDriver.php:134, https://github.com/doctrine/orm/pull/11211, package doctrine/orm)"
#code: 0
#file: "/home/batrams/Kplan/vendor/doctrine/deprecations/src/Deprecation.php"
#line: 208
#severity: E_USER_DEPRECATED
trace: {
/home/batrams/Kplan/vendor/doctrine/deprecations/src/Deprecation.php:208 {
Doctrine\Deprecations\Deprecation::delegateTriggerToBackend(string $message, array $backtrace, string $link, string $package): void …
›
› @trigger_error($message, E_USER_DEPRECATED);
› }
}
/home/batrams/Kplan/vendor/doctrine/deprecations/src/Deprecation.php:108 {
Doctrine\Deprecations\Deprecation::trigger(string $package, string $link, string $message, ...$args): void …
›
› self::delegateTriggerToBackend($message, $backtrace, $link, $package);
› }
}
/home/batrams/Kplan/vendor/doctrine/orm/src/Mapping/ArrayAccessImplementation.php:31 {
Doctrine\ORM\Mapping\FieldMapping->offsetGet(mixed $offset): mixed …
› {
› Deprecation::trigger(
› 'doctrine/orm',
}
/home/batrams/Kplan/vendor/gedmo/doctrine-extensions/src/Mapping/Driver/AbstractAnnotationDriver.php:134 {
Gedmo\Mapping\Driver\AbstractAnnotationDriver->isValidField($meta, $field) …
›
› return $mapping && in_array($mapping['type'], $this->validTypes, true);
› }
}
/home/batrams/Kplan/vendor/gedmo/doctrine-extensions/src/Timestampable/Mapping/Driver/Attribute.php:74 {
Gedmo\Timestampable\Mapping\Driver\Attribute->readExtendedMetadata($meta, array &$config) …
›
› if (!$this->isValidField($meta, $field)) {
› throw new InvalidMappingException("Field - [{$field}] type is not valid and must be 'date', 'datetime' or 'time' in class - {$meta->getName()}");
}
/home/batrams/Kplan/vendor/gedmo/doctrine-extensions/src/Mapping/Driver/Chain.php:82 {
Gedmo\Mapping\Driver\Chain->readExtendedMetadata($meta, array &$config) …
› if (0 === strpos($meta->getName(), $namespace)) {
› $extendedMetadata = $driver->readExtendedMetadata($meta, $config);
›
}
/home/batrams/Kplan/vendor/gedmo/doctrine-extensions/src/Mapping/ExtensionMetadataFactory.php:155 {
Gedmo\Mapping\ExtensionMetadataFactory->getExtensionMetadata($meta) …
›
› $extendedMetadata = $this->driver->readExtendedMetadata($meta, $config);
›
}
/home/batrams/Kplan/vendor/gedmo/doctrine-extensions/src/Mapping/MappedEventSubscriber.php:242 {
Gedmo\Mapping\MappedEventSubscriber->loadMetadataForObjectClass(ObjectManager $objectManager, $metadata) …
› try {
› $config = $factory->getExtensionMetadata($metadata);
› } catch (\ReflectionException $e) {
}
/home/batrams/Kplan/vendor/gedmo/doctrine-extensions/src/AbstractTrackingListener.php:65 {
Gedmo\AbstractTrackingListener->loadClassMetadata(EventArgs $eventArgs) …
› {
› $this->loadMetadataForObjectClass($eventArgs->getObjectManager(), $eventArgs->getClassMetadata());
› }
}
/home/batrams/Kplan/vendor/symfony/doctrine-bridge/ContainerAwareEventManager.php:63 {
Symfony\Bridge\Doctrine\ContainerAwareEventManager->dispatchEvent(string $eventName, ?EventArgs $eventArgs = null): void …
› foreach ($this->listeners[$eventName] as $hash => $listener) {
› $listener->{$this->methods[$eventName][$hash]}($eventArgs);
› }
}
/home/batrams/Kplan/vendor/doctrine/orm/src/Mapping/ClassMetadataFactory.php:246 {
Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata(ClassMetadata $class, ?ClassMetadata $parent, bool $rootEntityFound, array $nonSuperclassParents): void …
› $eventArgs = new LoadClassMetadataEventArgs($class, $this->em);
› $this->evm->dispatchEvent(Events::loadClassMetadata, $eventArgs);
› }
}
/home/batrams/Kplan/vendor/doctrine/doctrine-bundle/src/Mapping/ClassMetadataFactory.php:18 {
Doctrine\Bundle\DoctrineBundle\Mapping\ClassMetadataFactory->doLoadMetadata($class, $parent, $rootEntityFound, array $nonSuperclassParents): void …
› {
› parent::doLoadMetadata($class, $parent, $rootEntityFound, $nonSuperclassParents);
›
}
/home/batrams/Kplan/vendor/doctrine/persistence/src/Persistence/Mapping/AbstractClassMetadataFactory.php:343 {
Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata(string $name) …
›
› $this->doLoadMetadata($class, $parent, $rootEntityFound, $visited);
›
}
/home/batrams/Kplan/vendor/doctrine/persistence/src/Persistence/Mapping/AbstractClassMetadataFactory.php:207 {
Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor(string $className) …
› } else {
› $loadedMetadata = $this->loadMetadata($realClassName);
› $classNames = array_combine(
}
/home/batrams/Kplan/vendor/doctrine/orm/src/EntityManager.php:220 {
Doctrine\ORM\EntityManager->getClassMetadata(string $className): ClassMetadata …
› {
› return $this->metadataFactory->getMetadataFor($className);
› }
}
/home/batrams/Kplan/vendor/doctrine/doctrine-bundle/src/Repository/ServiceEntityRepositoryProxy.php:130 {
Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepositoryProxy->resolveRepository(): EntityRepository …
›
› return new EntityRepository($manager, $manager->getClassMetadata($this->entityClass));
› }
}
/home/batrams/Kplan/vendor/doctrine/doctrine-bundle/src/Repository/ServiceEntityRepositoryProxy.php:104 {
Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepositoryProxy->getEntityManager(): EntityManagerInterface …
› {
› return ($this->repository ??= $this->resolveRepository())->getEntityManager();
› }
}
/home/batrams/Kplan/src/Repository/DepartmentRepository.php:25 {
App\Repository\DepartmentRepository->__construct(ManagerRegistry $registry, UserContextService $userContextService) …
› parent::__construct($registry, Department::class);
› $this->nestedTreeRepo = $this->getEntityManager()->getRepository(Department::class);
› $this->userContextService = $userContextService;
}
/home/batrams/Kplan/var/cache/dev/ContainerTQBsBG0/App_KernelDevDebugContainer.php:1384 {
ContainerTQBsBG0\App_KernelDevDebugContainer::getDepartmentRepositoryService($container) …
›
› return $container->privates['App\\Repository\\DepartmentRepository'] = new \App\Repository\DepartmentRepository(($container->services['doctrine'] ?? self::getDoctrineService($container)), $a);
› }
}
/home/batrams/Kplan/var/cache/dev/ContainerTQBsBG0/App_KernelDevDebugContainer.php:1419 {
ContainerTQBsBG0\App_KernelDevDebugContainer::getUserRepositoryService($container) …
› }
› $b = ($container->privates['App\\Repository\\DepartmentRepository'] ?? self::getDepartmentRepositoryService($container));
›
}
/home/batrams/Kplan/var/cache/dev/ContainerTQBsBG0/getUserProviderService.php:24 {
ContainerTQBsBG0\getUserProviderService::do($container, $lazyLoad = true) …
›
› $a = ($container->privates['App\\Repository\\UserRepository'] ?? self::getUserRepositoryService($container));
›
}
/home/batrams/Kplan/var/cache/dev/ContainerTQBsBG0/App_KernelDevDebugContainer.php:642 {
ContainerTQBsBG0\App_KernelDevDebugContainer->load($file, $lazyLoad = true): mixed …
›
› return class_exists($class, false) ? $class::do($this, $lazyLoad) : $service;
› }
}
/home/batrams/Kplan/var/cache/dev/ContainerTQBsBG0/getSecurity_Authenticator_FormLogin_MainService.php:45 {
ContainerTQBsBG0\getSecurity_Authenticator_FormLogin_MainService::do($container, $lazyLoad = true) …
›
› return $container->privates['security.authenticator.form_login.main'] = new \Symfony\Component\Security\Http\Authenticator\FormLoginAuthenticator($b, ($container->privates['App\\Security\\UserProvider'] ?? $container->load('getUserProviderService')), $c, $d, ['login_path' => 'app_login', 'check_path' => 'app_login', 'enable_csrf' => true, 'use_forward' => false, 'username_parameter' => '_username', 'password_parameter' => '_password', 'csrf_parameter' => '_csrf_token', 'csrf_token_id' => 'authenticate', 'post_only' => true, 'form_only' => false]);
› }
}
/home/batrams/Kplan/var/cache/dev/ContainerTQBsBG0/App_KernelDevDebugContainer.php:642 {
ContainerTQBsBG0\App_KernelDevDebugContainer->load($file, $lazyLoad = true): mixed …
›
› return class_exists($class, false) ? $class::do($this, $lazyLoad) : $service;
› }
}
/home/batrams/Kplan/var/cache/dev/ContainerTQBsBG0/getSecurity_Firewall_Map_Context_MainService.php:28 {
ContainerTQBsBG0\getSecurity_Firewall_Map_Context_MainService::do($container, $lazyLoad = true) …
›
› $a = ($container->privates['security.authenticator.form_login.main'] ?? $container->load('getSecurity_Authenticator_FormLogin_MainService'));
›
}
/home/batrams/Kplan/var/cache/dev/ContainerTQBsBG0/App_KernelDevDebugContainer.php:642 {
ContainerTQBsBG0\App_KernelDevDebugContainer->load($file, $lazyLoad = true): mixed …
›
› return class_exists($class, false) ? $class::do($this, $lazyLoad) : $service;
› }
}
/home/batrams/Kplan/vendor/symfony/dependency-injection/Container.php:390 {
Symfony\Component\DependencyInjection\Container->getService(string|false $registry, string $id, ?string $method, string|bool $load): mixed …
› if (false !== $registry) {
› return $this->{$registry}[$id] ??= $load ? $this->load($method) : $this->{$method}($this);
› }
}
/home/batrams/Kplan/vendor/symfony/dependency-injection/Argument/ServiceLocator.php:40 {
Symfony\Component\DependencyInjection\Argument\ServiceLocator->get(string $id): mixed …
› 1 => $this->serviceMap[$id][0],
› default => ($this->factory)(...$this->serviceMap[$id]),
› };
}
/home/batrams/Kplan/vendor/symfony/security-bundle/Security/FirewallMap.php:69 {
Symfony\Bundle\SecurityBundle\Security\FirewallMap->getFirewallContext(Request $request): FirewallContext …
›
› return $this->container->get($contextId);
› }
}
/home/batrams/Kplan/vendor/symfony/security-bundle/Security/FirewallMap.php:49 {
Symfony\Bundle\SecurityBundle\Security\FirewallMap->getFirewallConfig(Request $request): FirewallConfig …
› {
› return $this->getFirewallContext($request)?->getConfig();
› }
}
/home/batrams/Kplan/vendor/symfony/security-bundle/EventListener/FirewallListener.php:45 {
Symfony\Bundle\SecurityBundle\EventListener\FirewallListener->configureLogoutUrlGenerator(RequestEvent $event): void …
›
› if ($this->map instanceof FirewallMap && $config = $this->map->getFirewallConfig($event->getRequest())) {
› $this->logoutUrlGenerator->setCurrentFirewall($config->getName(), $config->getContext());
}
/home/batrams/Kplan/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115 {
Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object $event, string $eventName, EventDispatcherInterface $dispatcher): void …
› try {
› ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
› } finally {
}
/home/batrams/Kplan/vendor/symfony/event-dispatcher/EventDispatcher.php:206 {
Symfony\Component\EventDispatcher\EventDispatcher->callListeners(iterable $listeners, string $eventName, object $event): void …
› }
› $listener($event, $eventName, $this);
› }
}
/home/batrams/Kplan/vendor/symfony/event-dispatcher/EventDispatcher.php:56 {
Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object $event, ?string $eventName = null): object …
› if ($listeners) {
› $this->callListeners($listeners, $eventName, $event);
› }
}
/home/batrams/Kplan/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:122 {
Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object $event, ?string $eventName = null): object …
› try {
› $this->dispatcher->dispatch($event, $eventName);
› } finally {
}
/home/batrams/Kplan/vendor/symfony/http-kernel/HttpKernel.php:159 {
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
› $event = new RequestEvent($this, $request, $type);
› $this->dispatcher->dispatch($event, KernelEvents::REQUEST);
›
}
/home/batrams/Kplan/vendor/symfony/http-kernel/HttpKernel.php:76 {
Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $response = $this->handleRaw($request, $type);
› } catch (\Throwable $e) {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#8 …}
$type: 1
}
}
/home/batrams/Kplan/vendor/symfony/http-kernel/Kernel.php:182 {
Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $this->getHttpKernel()->handle($request, $type, $catch);
› } finally {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#8 …}
$type: 1
$catch: true
}
}
/home/batrams/Kplan/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
› {
› $response = $this->kernel->handle($this->request);
›
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#8 …}
}
}
/home/batrams/Kplan/vendor/autoload_runtime.php:29 {
require_once …
› ->getRunner($app)
› ->run()
› );
}
/home/batrams/Kplan/public/index.php:5 {
›
› require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
›
arguments: {
"/home/batrams/Kplan/vendor/autoload_runtime.php"
}
}
}
}
]
"channel" => "deprecation"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.960+02:00"
"message" => "Checking for authenticator support."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"firewall_name" => "main"
"authenticators" => 1
]
"channel" => "security"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.960+02:00"
"message" => "Checking support on authenticator."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"firewall_name" => "main"
"authenticator" => "Symfony\Component\Security\Http\Authenticator\FormLoginAuthenticator"
]
"channel" => "security"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.960+02:00"
"message" => "Authenticator does not support the request."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"firewall_name" => "main"
"authenticator" => "Symfony\Component\Security\Http\Authenticator\FormLoginAuthenticator"
]
"channel" => "security"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.964+02:00"
"message" => "Read existing security token from the session."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"key" => "_security_main"
"token_class" => "Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken"
]
"channel" => "security"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.980+02:00"
"message" => "Executing statement: {sql} (parameters: {params}, types: {types})"
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"sql" => "SELECT u0_.id AS id_0, u0_.email AS email_1, u0_.password AS password_2, u0_.first_name AS first_name_3, u0_.last_name AS last_name_4, u0_.date_of_birth AS date_of_birth_5, u0_.is_active AS is_active_6, u0_.confirmation_token AS confirmation_token_7, u0_.password_reset_token AS password_reset_token_8, u0_.last_login_at AS last_login_at_9, u0_.phone_number AS phone_number_10, u0_.fonction AS fonction_11, u0_.sex AS sex_12, u0_.avatar AS avatar_13, u0_.created_at AS created_at_14, u0_.updated_at AS updated_at_15, u0_.deleted_at AS deleted_at_16, u0_.id AS id_17, u0_.email AS email_18, u0_.password AS password_19, u0_.first_name AS first_name_20, u0_.last_name AS last_name_21, u0_.date_of_birth AS date_of_birth_22, u0_.is_active AS is_active_23, u0_.confirmation_token AS confirmation_token_24, u0_.password_reset_token AS password_reset_token_25, u0_.last_login_at AS last_login_at_26, u0_.phone_number AS phone_number_27, u0_.fonction AS fonction_28, u0_.sex AS sex_29, u0_.avatar AS avatar_30, u0_.created_at AS created_at_31, u0_.updated_at AS updated_at_32, u0_.deleted_at AS deleted_at_33, r1_.id AS id_34, r1_.code AS code_35, r1_.name AS name_36, r1_.description AS description_37, r1_.is_default AS is_default_38, r1_.created_at AS created_at_39, r1_.updated_at AS updated_at_40, r1_.deleted_at AS deleted_at_41, p2_.id AS id_42, p2_.code AS code_43, p2_.name AS name_44, p2_.description AS description_45, p2_.created_at AS created_at_46, p2_.updated_at AS updated_at_47, p2_.deleted_at AS deleted_at_48, u0_.user_preference_id AS user_preference_id_49, u0_.department_id AS department_id_50, u0_.organization_id AS organization_id_51, r1_.department_id AS department_id_52, r1_.organization_id AS organization_id_53, p2_.permission_group_id AS permission_group_id_54 FROM user u0_ LEFT JOIN user_role u3_ ON u0_.id = u3_.user_id LEFT JOIN role r1_ ON r1_.id = u3_.role_id AND (r1_.deleted_at IS NULL) LEFT JOIN role_permission r4_ ON r1_.id = r4_.role_id LEFT JOIN permission p2_ ON p2_.id = r4_.permission_id AND (p2_.deleted_at IS NULL) WHERE (u0_.id = ?) AND (u0_.deleted_at IS NULL)"
"params" => [
1 => 2
]
"types" => [
1 => 1
]
]
"channel" => "doctrine"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.992+02:00"
"message" => "User was reloaded from a user provider."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"provider" => "App\Security\UserProvider"
"username" => "massamba.fall92+01@gmail.com"
]
"channel" => "security"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "debug.security.authorization.vote"
"listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "debug.security.authorization.vote"
"listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Stof\DoctrineExtensionsBundle\EventListener\IpTraceListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\FragmentListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Knp\Bundle\PaginatorBundle\Subscriber\SlidingPaginationSubscriber::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.993+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Stof\DoctrineExtensionsBundle\EventListener\BlameListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.994+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.994+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1777911018
"timestamp_rfc3339" => "2026-05-04T18:10:18.994+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "DH\AuditorBundle\Event\ViewerEventSubscriber::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.007+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.007+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "App\EventSubscriber\PermissionsOnlySubscriber::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.008+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.008+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.008+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "ContainerTQBsBG0\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.008+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.008+02:00"
"message" => "Executing statement: {sql} (parameters: {params}, types: {types})"
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"sql" => "SELECT t0.id AS id_1, t0.name AS name_2, t0.abbreviation AS abbreviation_3, t0.lft AS lft_4, t0.lvl AS lvl_5, t0.rgt AS rgt_6, t0.created_at AS created_at_7, t0.updated_at AS updated_at_8, t0.deleted_at AS deleted_at_9, t0.organization_id AS organization_id_10, t0.tree_root AS tree_root_11, t0.parent_id AS parent_id_12 FROM department t0 WHERE t0.id = ? AND ((t0.deleted_at IS NULL))"
"params" => [
1 => 19
]
"types" => [
1 => 1
]
]
"channel" => "doctrine"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.015+02:00"
"message" => "Executing statement: {sql} (parameters: {params}, types: {types})"
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"sql" => "SELECT d0_.id AS id_0, d0_.code AS code_1, d0_.label AS label_2, d0_.value AS value_3, d0_.updated_at AS updated_at_4, d0_.created_at AS created_at_5, d0_.period_month AS period_month_6, d0_.period_year AS period_year_7, d0_.scope AS scope_8, d0_.metadata AS metadata_9, d0_.department_id AS department_id_10, d0_.organization_id AS organization_id_11 FROM dashboard_kpi d0_ WHERE (d0_.period_month = ? AND d0_.period_year = ?) AND d0_.organization_id = ? AND d0_.scope = ? AND d0_.department_id IS NULL"
"params" => [
1 => "9"
2 => "2025"
3 => 1
4 => "ORGANIZATION"
]
"types" => [
1 => 2
2 => 2
3 => 1
4 => 2
]
]
"channel" => "doctrine"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.016+02:00"
"message" => "Lock acquired, now computing item "{key}""
"priority" => 200
"priorityName" => "INFO"
"context" => [
"key" => "011faf1e180fe65f70e532d1ea39d0e6"
]
"channel" => "cache"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.019+02:00"
"message" => "Request: "POST https://api.openai.com/v1/chat/completions""
"priority" => 200
"priorityName" => "INFO"
"context" => []
"channel" => "http_client"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.529+02:00"
"message" => "Response: "401 https://api.openai.com/v1/chat/completions""
"priority" => 200
"priorityName" => "INFO"
"context" => []
"channel" => "http_client"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.537+02:00"
"message" => "Uncaught PHP Exception Symfony\Component\HttpClient\Exception\ClientException: "HTTP/2 401 returned for "https://api.openai.com/v1/chat/completions"." at TraceableResponse.php line 209"
"priority" => 500
"priorityName" => "CRITICAL"
"context" => [
"exception" => Symfony\Component\HttpClient\Exception\ClientException {#2053
#message: "HTTP/2 401 returned for "https://api.openai.com/v1/chat/completions"."
#code: 401
#file: "/home/batrams/Kplan/vendor/symfony/http-client/Response/TraceableResponse.php"
#line: 209
-response: Symfony\Component\HttpClient\Response\TraceableResponse {#1992 …}
trace: {
/home/batrams/Kplan/vendor/symfony/http-client/Response/TraceableResponse.php:209 {
Symfony\Component\HttpClient\Response\TraceableResponse->checkStatusCode(int $code): void …
› if (400 <= $code) {
› throw new ClientException($this);
› }
}
/home/batrams/Kplan/vendor/symfony/http-client/Response/TraceableResponse.php:100 {
Symfony\Component\HttpClient\Response\TraceableResponse->getContent(bool $throw = true): string …
› if ($throw) {
› $this->checkStatusCode($this->response->getStatusCode());
› }
arguments: {
$code: 401
}
}
/home/batrams/Kplan/src/Domain/Services/AI/OpenAiAPIService.php:72 {
App\Domain\Services\AI\OpenAiAPIService->{closure:App\Domain\Services\AI\OpenAiAPIService::analyseKPI():58} …
›
› return $response->getContent();
› });
}
/home/batrams/Kplan/vendor/symfony/cache/Adapter/TraceableAdapter.php:48 {
Symfony\Component\Cache\Adapter\TraceableAdapter->{closure:Symfony\Component\Cache\Adapter\TraceableAdapter::get():45} …
›
› return $callback($item, $save);
› };
arguments: {
Symfony\Component\Cache\CacheItem {#1963 …}
true
}
}
/home/batrams/Kplan/vendor/symfony/cache/LockRegistry.php:111 {
Symfony\Component\Cache\LockRegistry::compute(callable $callback, ItemInterface $item, bool &$save, CacheInterface $pool, ?Closure $setMetadata = null, ?LoggerInterface $logger = null): mixed …
›
› $value = $callback($item, $save);
›
arguments: {
Symfony\Component\Cache\CacheItem {#1963 …}
true
}
}
/home/batrams/Kplan/vendor/symfony/cache/Traits/ContractsTrait.php:102 {
Symfony\Component\Cache\Adapter\AbstractAdapter->{closure:Symfony\Component\Cache\Traits\ContractsTrait::doGet():85} …
› try {
› $value = ($this->callbackWrapper)($callback, $item, $save, $pool, function (CacheItem $item) use ($setMetadata, $startTime, &$metadata) {
› $setMetadata($item, $startTime, $metadata);
arguments: {
$callback: Closure(CacheItem $item, bool &$save) {#2025 …}
$item: Symfony\Component\Cache\CacheItem {#1963 …}
&$save: true
$pool: Symfony\Component\Cache\Adapter\FilesystemAdapter {#959 …}
$setMetadata: Closure(CacheItem $item) {#1960 …}
$logger: Monolog\Logger {#962 …}
}
}
/home/batrams/Kplan/vendor/symfony/cache-contracts/CacheTrait.php:64 {
Symfony\Component\Cache\Adapter\AbstractAdapter->contractsGet(CacheItemPoolInterface $pool, string $key, callable $callback, ?float $beta, ?array &$metadata = null, ?LoggerInterface $logger = null): mixed …
› $save = true;
› $item->set($callback($item, $save));
› if ($save) {
arguments: {
Symfony\Component\Cache\CacheItem {#1963 …}
true
}
}
/home/batrams/Kplan/vendor/symfony/cache/Traits/ContractsTrait.php:85 {
Symfony\Component\Cache\Adapter\AbstractAdapter->doGet(AdapterInterface $pool, string $key, callable $callback, ?float $beta, ?array &$metadata = null): mixed …
›
› return $this->contractsGet($pool, $key, function (CacheItem $item, bool &$save) use ($pool, $callback, $setMetadata, &$metadata, $key) {
› // don't wrap nor save recursive calls
arguments: {
$pool: Symfony\Component\Cache\Adapter\FilesystemAdapter {#959 …}
$key: "011faf1e180fe65f70e532d1ea39d0e6"
$callback: Closure(CacheItem $item, bool &$save) {#1968 …}
$beta: 1.0
&$metadata: []
$logger: Monolog\Logger {#962 …}
}
}
/home/batrams/Kplan/vendor/symfony/cache-contracts/CacheTrait.php:30 {
Symfony\Component\Cache\Adapter\AbstractAdapter->get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed …
› {
› return $this->doGet($this, $key, $callback, $beta, $metadata);
› }
arguments: {
$pool: Symfony\Component\Cache\Adapter\FilesystemAdapter {#959 …}
$key: "011faf1e180fe65f70e532d1ea39d0e6"
$callback: Closure(CacheItem $item, bool &$save) {#2025 …}
$beta: 1.0
&$metadata: []
}
}
/home/batrams/Kplan/vendor/symfony/cache/Adapter/TraceableAdapter.php:53 {
Symfony\Component\Cache\Adapter\TraceableAdapter->get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null): mixed …
› try {
› $value = $this->pool->get($key, $callback, $beta, $metadata);
› $event->result[$key] = get_debug_type($value);
arguments: {
$key: "011faf1e180fe65f70e532d1ea39d0e6"
$callback: Closure(CacheItem $item, bool &$save) {#2025 …}
$beta: null
&$metadata: []
}
}
/home/batrams/Kplan/src/Domain/Services/AI/OpenAiAPIService.php:58 {
App\Domain\Services\AI\OpenAiAPIService->analyseKPI(string $prompt): array …
›
› $response = $this->cache->get($cacheKey, function(ItemInterface $item) use ($prompt) {
› $item->expiresAfter(self::CACHE_DURATION);
arguments: {
$key: "011faf1e180fe65f70e532d1ea39d0e6"
$callback: Closure(CacheItem $item, bool &$save) {#2025 …}
}
}
/home/batrams/Kplan/src/Domain/UseCase/AI/DashboardInsightUseCase.php:20 {
App\Domain\UseCase\AI\DashboardInsightUseCase->execute(array $kpis): array …
›
› return $this->openAPIService->analyseKPI($prompt);
› }
arguments: {
$prompt: """
Tu es un expert en suivi-évaluation de projets gouvernementaux. Je vais te fournir un ensemble de données (KPIs globaux, projets en retard, incidents...).\n
Génère une liste d'insights structurés en JSON respectant strictement le modèle suivant :\n
[\n
{\n
"observation": "[emoji] Titre de l’observation (phrase courte)",\n
"description": "Texte explicatif ou analyse en une phrase",\n
"actionable_steps": ["Étape concrète à envisager", "Autre action à prendre"],\n
"keywords": ["mot-clé-1", "mot-clé-2"]\n
}\n
]\n
Ne commente pas. Ne fournis aucun texte hors du tableau JSON.Voici les données :\n
- execution_rate : 1.28 (metadata : {"value":1.28,"period":"2025-09","variation":0,"department":null,"performance":0,"project_count":1})\n
- milestone_processing_delay : 0 (metadata : {"value":0,"department":null,"fill_delay":13.03,"approve_delay":0,"validate_delay":0,"fill_trend_delay":0,"approve_trend_delay":0,"validate_trend_delay":0})\n
- milestone_performance_score : 0 (metadata : {"value":0,"metadata":{"raw_delays":{"fill_delay":0,"approve_delay":0,"validate_delay":0},"weighted_delay":0},"department":null})\n
- top_5_projects : 0 (metadata : {"value":0,"metadata":[],"department":null})\n
- flop_5_projects : 0 (metadata : {"value":0,"metadata":[{"id":1,"owner":"SENTER\/DG","acronym":"MEPDU","gap_avg":-98.72,"project":"Mise en place d'une usine de Traverse en B\u00e9ton","performance":1.28,"actual_progress_avg":1.28,"planned_progress_avg":100,"relative_performance":1.28}],"department":null})\n
- projects_performance : 1.28 (metadata : {"trend":0,"value":1.28,"period":"2025-09","variation":0,"department":null,"project_count":1,"project_count_status":"stable","delayed_project_count":1,"on_time_project_count":0})\n
- budget_allocated : 10000000000 (metadata : {"unit":"FCFA","value":10000000000,"department":null})\n
- budget_committed : 2603000 (metadata : {"unit":"FCFA","value":2603000,"department":null})\n
- budget_disbursed : 0 (metadata : {"unit":"FCFA","value":0,"department":null})\n
- budget_execution_rate : 0 (metadata : {"unit":"%","value":0,"department":null})\n
\n
Rédige les insights sous forme de liste avec des emojis et des mots-clés utiles.
"""
}
}
/home/batrams/Kplan/src/Controller/Dashboard/DashboardController.php:113 {
App\Controller\Dashboard\DashboardController->dashboardInsights(Request $request, DashboardInsightUseCase $useCase): JsonResponse …
› $kpis = $this->getKpis($organization, $periodMonth, $periodYear, $department);
› $insights = $useCase->execute($kpis);
›
arguments: {
$kpis: [ …10]
}
}
/home/batrams/Kplan/vendor/symfony/http-kernel/HttpKernel.php:183 {
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
› // call controller
› $response = $controller(...$arguments);
›
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#8 …}
$useCase: App\Domain\UseCase\AI\DashboardInsightUseCase {#993 …}
}
}
/home/batrams/Kplan/vendor/symfony/http-kernel/HttpKernel.php:76 {
Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $response = $this->handleRaw($request, $type);
› } catch (\Throwable $e) {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#8 …}
$type: 1
}
}
/home/batrams/Kplan/vendor/symfony/http-kernel/Kernel.php:182 {
Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $this->getHttpKernel()->handle($request, $type, $catch);
› } finally {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#8 …}
$type: 1
$catch: true
}
}
/home/batrams/Kplan/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
› {
› $response = $this->kernel->handle($this->request);
›
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#8 …}
}
}
/home/batrams/Kplan/vendor/autoload_runtime.php:29 {
require_once …
› ->getRunner($app)
› ->run()
› );
}
/home/batrams/Kplan/public/index.php:5 {
›
› require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
›
arguments: {
"/home/batrams/Kplan/vendor/autoload_runtime.php"
}
}
}
}
]
"channel" => "request"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\Security\Http\Firewall\ExceptionListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\WebpackEncoreBundle\EventListener\ExceptionListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::logKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Listener "{listener}" stopped propagation of the event "{event}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.601+02:00"
"message" => "Stored the security token in the session."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"key" => "_security_main"
]
"channel" => "security"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\WebLink\EventListener\AddLinkHeaderListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::removeCspHeader"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener::onResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\WebpackEncoreBundle\EventListener\ResetAssetsEventListener::resetAssets"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.609+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelFinishRequest"
]
"channel" => "event"
]
]
2353 => [
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Stof\DoctrineExtensionsBundle\EventListener\IpTraceListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\FragmentListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Knp\Bundle\PaginatorBundle\Subscriber\SlidingPaginationSubscriber::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.539+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Stof\DoctrineExtensionsBundle\EventListener\BlameListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.541+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.541+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.541+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "DH\AuditorBundle\Event\ViewerEventSubscriber::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.541+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.541+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "App\EventSubscriber\PermissionsOnlySubscriber::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.541+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.541+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.541+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "ContainerTQBsBG0\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.541+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\WebLink\EventListener\AddLinkHeaderListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::removeCspHeader"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener::onResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\WebpackEncoreBundle\EventListener\ResetAssetsEventListener::resetAssets"
]
"channel" => "event"
]
[
"timestamp" => 1777911019
"timestamp_rfc3339" => "2026-05-04T18:10:19.600+02:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelFinishRequest"
]
"channel" => "event"
]
]
]
-errorCount: [
"" => 0
8 => 1
2353 => 0
]
-requestStack: Symfony\Component\HttpKernel\Debug\VirtualRequestStack {#516 …}
} |