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"); }
public function confirm($message, $default = false) { if ($this->interactive) { return Console::confirm($message, $default); } else { return true; } }
/** * 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; }