/**
* @param ConfigInterface $config
* @param string $level
* @param int $loggerLevel
* @return HandlerInterface
*/
private function createHandler(ConfigInterface $config, $level, $loggerLevel)
{
$factory = new LoggerFactory();
$formatter = $factory->createFormatter('LineFormatter', [$config->get('log.config.messagePattern'), $config->get('log.config.datePattern'), true]);
$filePermission = $config->get('log.config.filePermission');
$fileLocking = (bool) $config->get('log.config.fileLocking');
$filePath = $config->get('log.config.filePattern');
$loggerHandler = $factory->createHandler('StreamHandler', [$this->filePath($filePath, $level), $loggerLevel, false, $filePermission, $fileLocking]);
$loggerHandler->setFormatter($formatter);
return $loggerHandler;
}