public function createLogger()
{
if (!$this->monitoringConfig) {
return new NullLogger();
}
$logger = new Logger('acmephp');
foreach ($this->monitoringConfig as $name => $config) {
if (!$this->container->has('monitoring.' . $name)) {
throw new AcmeCliException(sprintf('Monitoring handler %s does not exists.', $name));
}
if (isset($config['level'])) {
if (!isset(self::$levels[$config['level']])) {
throw new AcmeCliException(sprintf('Monitoring handler level "%s" is not valid.', $config['level']));
}
$config['level'] = self::$levels[$config['level']];
} else {
$config['level'] = null;
}
$logger->pushHandler($this->container->get('monitoring.' . $name)->createHandler($config));
}
return $logger;
}