Вы должны переопределить AppKernel
:
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
protected $sessionId;
public function __construct($environment, $debug, $sessionId)
{
$this->sessionId = $sessionId;
parent::_construct($environment, $debug);
}
/**
* {@inheritdoc}
* @see \Symfony\Component\HttpKernel\Kernel::getKernelParameters()
*/
protected function getKernelParameters()
{
$parameters = parent::getKernelParameters();
// Adding session_id parameter
$parameters['kernel.session_id'] = $this->sessionId;
return $parameters;
}
/**
* Your function here [...]
**
}
Теперь вы можете использовать %kernel.session_id%
в вашем config.yml
monolog:
handlers:
report:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%-%kernel.session_id%.log"
level: info
и в вашем app.php
:
$sessionId = '123';
$kernel = new AppKernel('prod', false, $sessionId);
Вы просто передать $sessionId
в качестве аргумента вашего скрипта
Каждый раз, когда запускается ваш cron, он создает новое приложение Symfony? – Med
да cron запускает новый экземпляр symfony – user3886650