/**
  * Configures and returns the logger instance
  *
  * @param OutputInterface $output
  * @param Configuration   $configuration
  *
  * @return Logger
  */
 private function configureLogger(OutputInterface $output, Configuration $configuration)
 {
     $consoleHandler = new ConsoleHandler($output);
     $consoleHandler->setFormatter(new ColoredLineFormatter(null, "[%datetime%] %level_name%: %message%\n"));
     $logger = new Logger(self::COMMAND_NAME);
     $logger->pushHandler($consoleHandler);
     $logger->pushProcessor(new PsrLogMessageProcessor());
     if ($configuration->getLogPath() !== null) {
         $fileHandler = new StreamHandler($configuration->getLogPath());
         $logger->pushHandler($fileHandler);
     }
     return $logger;
 }