Verzeichnisstruktur phpBB-3.2.0


Veröffentlicht
06.01.2017

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

ConsoleLogger.php

Zuletzt modifiziert: 09.10.2024, 12:56 - Dateigröße: 3.73 KiB


001  <?php
002   
003  /*
004   * This file is part of the Symfony package.
005   *
006   * (c) Fabien Potencier <fabien@symfony.com>
007   *
008   * For the full copyright and license information, please view the LICENSE
009   * file that was distributed with this source code.
010   */
011   
012  namespace Symfony\Component\Console\Logger;
013   
014  use Psr\Log\AbstractLogger;
015  use Psr\Log\InvalidArgumentException;
016  use Psr\Log\LogLevel;
017  use Symfony\Component\Console\Output\OutputInterface;
018  use Symfony\Component\Console\Output\ConsoleOutputInterface;
019   
020  /**
021   * PSR-3 compliant console logger.
022   *
023   * @author Kévin Dunglas <dunglas@gmail.com>
024   *
025   * @see http://www.php-fig.org/psr/psr-3/
026   */
027  class ConsoleLogger extends AbstractLogger
028  {
029      const INFO = 'info';
030      const ERROR = 'error';
031   
032      /**
033       * @var OutputInterface
034       */
035      private $output;
036      /**
037       * @var array
038       */
039      private $verbosityLevelMap = array(
040          LogLevel::EMERGENCY => OutputInterface::VERBOSITY_NORMAL,
041          LogLevel::ALERT => OutputInterface::VERBOSITY_NORMAL,
042          LogLevel::CRITICAL => OutputInterface::VERBOSITY_NORMAL,
043          LogLevel::ERROR => OutputInterface::VERBOSITY_NORMAL,
044          LogLevel::WARNING => OutputInterface::VERBOSITY_NORMAL,
045          LogLevel::NOTICE => OutputInterface::VERBOSITY_VERBOSE,
046          LogLevel::INFO => OutputInterface::VERBOSITY_VERY_VERBOSE,
047          LogLevel::DEBUG => OutputInterface::VERBOSITY_DEBUG,
048      );
049      /**
050       * @var array
051       */
052      private $formatLevelMap = array(
053          LogLevel::EMERGENCY => self::ERROR,
054          LogLevel::ALERT => self::ERROR,
055          LogLevel::CRITICAL => self::ERROR,
056          LogLevel::ERROR => self::ERROR,
057          LogLevel::WARNING => self::INFO,
058          LogLevel::NOTICE => self::INFO,
059          LogLevel::INFO => self::INFO,
060          LogLevel::DEBUG => self::INFO,
061      );
062   
063      /**
064       * @param OutputInterface $output
065       * @param array           $verbosityLevelMap
066       * @param array           $formatLevelMap
067       */
068      public function __construct(OutputInterface $output, array $verbosityLevelMap = array(), array $formatLevelMap = array())
069      {
070          $this->output = $output;
071          $this->verbosityLevelMap = $verbosityLevelMap + $this->verbosityLevelMap;
072          $this->formatLevelMap = $formatLevelMap + $this->formatLevelMap;
073      }
074   
075      /**
076       * {@inheritdoc}
077       */
078      public function log($level, $message, array $context = array())
079      {
080          if (!isset($this->verbosityLevelMap[$level])) {
081              throw new InvalidArgumentException(sprintf('The log level "%s" does not exist.', $level));
082          }
083   
084          // Write to the error output if necessary and available
085          if ($this->formatLevelMap[$level] === self::ERROR && $this->output instanceof ConsoleOutputInterface) {
086              $output = $this->output->getErrorOutput();
087          } else {
088              $output = $this->output;
089          }
090   
091          if ($output->getVerbosity() >= $this->verbosityLevelMap[$level]) {
092              $output->writeln(sprintf('<%1$s>[%2$s] %3$s</%1$s>', $this->formatLevelMap[$level], $level, $this->interpolate($message, $context)));
093          }
094      }
095   
096      /**
097       * Interpolates context values into the message placeholders.
098       *
099       * @author PHP Framework Interoperability Group
100       *
101       * @param string $message
102       * @param array  $context
103       *
104       * @return string
105       */
106      private function interpolate($message, array $context)
107      {
108          // build a replacement array with braces around the context keys
109          $replace = array();
110          foreach ($context as $key => $val) {
111              if (!is_array($val) && (!is_object($val) || method_exists($val, '__toString'))) {
112                  $replace[sprintf('{%s}', $key)] = $val;
113              }
114          }
115   
116          // interpolate replacement values into the message and return
117          return strtr($message, $replace);
118      }
119  }
120