/**
  * Parses layout config, creates the layout and links it to the appender.
  * @param LoggerAppender $appender
  * @param array $config Layout configuration.
  */
 private function createAppenderLayout(LoggerAppender $appender, $config)
 {
     $name = $appender->getName();
     $class = $config['class'];
     if (empty($class)) {
         $this->warn("Layout class not specified for appender [{$name}]. Reverting to default layout.");
         return;
     }
     if (!class_exists($class)) {
         $this->warn("Nonexistant layout class [{$class}] specified for appender [{$name}]. Reverting to default layout.");
         return;
     }
     $layout = new $class();
     if (!$layout instanceof LoggerLayout) {
         $this->warn("Invalid layout class [{$class}] sepcified for appender [{$name}]. Reverting to default layout.");
         return;
     }
     if (isset($config['params'])) {
         $this->setOptions($layout, $config['params']);
     }
     $layout->activateOptions();
     $appender->setLayout($layout);
 }