addDefinitions([ LoggerInterface::class => function (ContainerInterface $c) { $settings = [ 'name' => $_ENV['APP_NAME'] ?? 'password-generator', 'path' => __DIR__ . '/../' . ($_ENV['LOG_PATH'] ?? 'logs/app.log'), 'level' => SecurityConfig::resolveLogLevel($_ENV['LOG_LEVEL'] ?? 'warning'), ]; $logger = new Logger($settings['name']); $processor = new UidProcessor(); $logger->pushProcessor($processor); $handler = new StreamHandler($settings['path'], $settings['level']); $logger->pushHandler($handler); return $logger; }, ResponseHelper::class => function (ContainerInterface $c) { return new ResponseHelper(); }, PasswordGeneratorManager::class => function (ContainerInterface $c) { return new PasswordGeneratorManager(); }, PasswordController::class => function (ContainerInterface $c) { return new PasswordController( $c->get(PasswordGeneratorManager::class), $c->get(ResponseHelper::class), $c->get(LoggerInterface::class) ); }, ]); };