public function getLayout($name) { try { return parent::getLayout($name); } catch (\Mougrim\Logger\LoggerConfigurationException $exception) { throw new LoggerConfigurationException($exception->getMessage(), $exception->getCode(), $exception); } }
public function testGetLayoutExists() { $hierarchy = new LoggerHierarchy(); $layout = new LayoutSimple(); $hierarchy->setLayout('simple', $layout); $this->assertSame($layout, $hierarchy->getLayout('simple')); $this->assertSame(['simple' => $layout], $hierarchy->getLayoutMap()); }
/** * @param LoggerHierarchy $hierarchy * @param $config * * @return AppenderAbstract * * @throws LoggerException */ private function createAppender(LoggerHierarchy $hierarchy, $config) { if (isset($config['layout'])) { if (is_string($config['layout'])) { $config['layout'] = $hierarchy->getLayout($config['layout']); } elseif (is_array($config['layout'])) { $config['layout'] = $this->createLayout($config['layout']); } else { LoggerPolicy::processConfigurationError('Invalid logger layout description'); unset($config['layout']); } } /** @noinspection PhpIncompatibleReturnTypeInspection */ return $this->createObject($config); }