From f347a7498219aa00ebcf87e78e50b114367a2dac Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Tue, 11 Nov 2014 19:40:59 +0100 Subject: [PATCH] Logger\StdoutWriter: initial implementation This log writer writes to STDOUT and uses ANSI colors on real terminals fixes #7636 --- .../Logger/Writer/StdoutWriter.php | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 library/Icinga/Application/Logger/Writer/StdoutWriter.php diff --git a/library/Icinga/Application/Logger/Writer/StdoutWriter.php b/library/Icinga/Application/Logger/Writer/StdoutWriter.php new file mode 100644 index 000000000..1fe929d92 --- /dev/null +++ b/library/Icinga/Application/Logger/Writer/StdoutWriter.php @@ -0,0 +1,50 @@ +screen === null) { + $this->screen = Screen::instance(); + } + return $this->screen; + } + + /** + * Log a message with the given severity + * + * @param int $severity The severity to use + * @param string $message The message to log + */ + public function log($severity, $message) + { + $color = 'black'; + switch ($severity) { + case Logger::$ERROR: + $color = 'red'; + break; + case Logger::$WARNING: + $color = 'orange'; + break; + case Logger::$INFO: + $color = 'green'; + break; + case Logger::$DEBUG: + $color = 'blue'; + break; + } + file_put_contents('php://stderr', $this->screen()->colorize($message, $color) . "\n"); + } +}