Example #1
0
 public function log($level, $message, $category)
 {
     if (!($this->levels & $level)) {
         return;
     }
     if ($this->category and !in_array($category, $this->category)) {
         return;
     }
     $this->messages[] = [$message, $level, $category, time()];
     if (!is_string($message)) {
         if ($message instanceof \Exception) {
             $message = (string) $message;
         }
     }
     $params = [];
     switch ($level) {
         case Logger::WARNING:
             $params = [Console::FG_PURPLE];
             break;
         case Logger::ERROR:
             $params = [Console::FG_RED];
             break;
         case Logger::INFO:
             $params = [Console::FG_GREEN];
             break;
     }
     if (count($params)) {
         $message = Console::ansi_format($message, $params);
     }
     Console::stdout($message . "\n");
 }
Example #2
0
 public function confirm($message, $default = false)
 {
     if ($this->interactive) {
         return Console::confirm($message, $default);
     } else {
         return true;
     }
 }
Example #3
0
 /**
  * Colorizes a message for console output.
  * @param string $message the message to colorize.
  * @param array $format the message format.
  * @return string the colorized message.
  * @see Console::ansiFormat() for details on how to specify the message format.
  */
 protected function formatMessage($message, $format = [Console::FG_RED, Console::BOLD])
 {
     $stream = PHP_SAPI === 'cli' ? \STDERR : \STDOUT;
     // try controller first to allow check for --color switch
     //if (Yii::$app->controller instanceof \yii\console\Controller && Yii::$app->controller->isColorEnabled($stream)
     //            || Yii::$app instanceof \yii\console\Application && Console::streamSupportsAnsiColors($stream)) {
     if (Console::stream_supports_ansi_colors($stream)) {
         $message = Console::ansi_format($message, $format);
     }
     return $message;
 }