diff --git a/src/Monolog/Formatter/FormatterInterface.php b/src/Monolog/Formatter/FormatterInterface.php index 18b8dd9d..1fa15e2c 100644 --- a/src/Monolog/Formatter/FormatterInterface.php +++ b/src/Monolog/Formatter/FormatterInterface.php @@ -13,5 +13,5 @@ namespace Monolog\Formatter; interface FormatterInterface { - function format($log, $level, $message); + function format($log, $message); } diff --git a/src/Monolog/Formatter/SimpleFormatter.php b/src/Monolog/Formatter/SimpleFormatter.php index 9c7f343c..3a2d2ee9 100644 --- a/src/Monolog/Formatter/SimpleFormatter.php +++ b/src/Monolog/Formatter/SimpleFormatter.php @@ -27,19 +27,19 @@ class SimpleFormatter implements FormatterInterface $this->dateFormat = $dateFormat ?: self::SIMPLE_DATE; } - public function format($log, $level, $message) + public function format($log, $message) { $defaults = array( 'log' => $log, - 'level' => Logger::getLevelName($level), + 'level' => Logger::getLevelName($message['level']), 'date' => date($this->dateFormat), ); - if (is_array($message)) { - $vars = array_merge($defaults, $message); + if (is_array($message['message'])) { + $vars = array_merge($defaults, $message['message']); } else { $vars = $defaults; - $vars['message'] = $message; + $vars['message'] = $message['message']; } $message = $this->format; diff --git a/src/Monolog/Log.php b/src/Monolog/Log.php index fee20292..253cf7d3 100644 --- a/src/Monolog/Log.php +++ b/src/Monolog/Log.php @@ -22,6 +22,7 @@ class Log public function __construct($name, $level = Logger::WARNING, $writers = array()) { $this->name = $name; + // TODO move level down to the writers $this->level = $level; $this->writers = is_array($writers) ? $writers : array($writers); } diff --git a/src/Monolog/Logger.php b/src/Monolog/Logger.php index 5a4f9f8c..a220c876 100644 --- a/src/Monolog/Logger.php +++ b/src/Monolog/Logger.php @@ -62,6 +62,10 @@ class Logger public function addMessage($level, $message, $log = null) { + $message = array( + 'message' => $message, + 'level' => $level, + ); if (null === $log) { $logs = $this->logs; } else { diff --git a/src/Monolog/Writer/NullWriter.php b/src/Monolog/Writer/NullWriter.php index 4ca4ae96..c44a61fd 100644 --- a/src/Monolog/Writer/NullWriter.php +++ b/src/Monolog/Writer/NullWriter.php @@ -15,7 +15,7 @@ use Monolog\Formatter\FormatterInterface; class NullWriter implements WriterInterface { - public function write($log, $level, $message) + public function write($log, $message) { } diff --git a/src/Monolog/Writer/StreamWriter.php b/src/Monolog/Writer/StreamWriter.php index dd3042a2..09d52036 100644 --- a/src/Monolog/Writer/StreamWriter.php +++ b/src/Monolog/Writer/StreamWriter.php @@ -28,15 +28,15 @@ class StreamWriter implements WriterInterface } } - public function write($log, $level, $message) + public function write($log, $message) { if (null === $this->stream) { $this->stream = fopen($this->url, 'a'); } if ($this->formatter) { - $message = $this->formatter->format($log, $level, $message); + $message = $this->formatter->format($log, $message); } - fwrite($this->stream, (string) $message); + fwrite($this->stream, (string) $message['message']); } public function close() diff --git a/src/Monolog/Writer/WriterInterface.php b/src/Monolog/Writer/WriterInterface.php index cd6ad5d5..f8dffb35 100644 --- a/src/Monolog/Writer/WriterInterface.php +++ b/src/Monolog/Writer/WriterInterface.php @@ -16,6 +16,6 @@ use Monolog\Formatter\FormatterInterface; interface WriterInterface { function setFormatter(FormatterInterface $formatter); - function write($log, $level, $message); + function write($log, $message); function close(); } diff --git a/tests/Monolog/Formatter/SimpleFormatterTest.php b/tests/Monolog/Formatter/SimpleFormatterTest.php index 588cd066..5c7f76b2 100644 --- a/tests/Monolog/Formatter/SimpleFormatterTest.php +++ b/tests/Monolog/Formatter/SimpleFormatterTest.php @@ -18,17 +18,20 @@ class SimpleFormatterTest extends \PHPUnit_Framework_TestCase public function testDefFormatWithString() { $formatter = new SimpleFormatter(null, 'Y-m-d'); - $message = $formatter->format('log', Logger::WARNING, 'foo'); + $message = $formatter->format('log', array('level' => Logger::WARNING, 'message' => 'foo')); $this->assertEquals('['.date('Y-m-d').'] log.WARNING: foo'."\n", $message); } public function testDefFormatWithArray() { $formatter = new SimpleFormatter(null, 'Y-m-d'); - $message = $formatter->format('xx', Logger::ERROR, array( - 'log' => 'log', - 'level' => 'WARNING', - 'message' => 'foo' + $message = $formatter->format('xx', array( + 'level' => Logger::ERROR, + 'message' => array( + 'log' => 'log', + 'level' => 'WARNING', + 'message' => 'foo', + ) )); $this->assertEquals('['.date('Y-m-d').'] log.WARNING: foo'."\n", $message); } diff --git a/tests/Monolog/Writer/StreamWriterTest.php b/tests/Monolog/Writer/StreamWriterTest.php index 9ac51c59..2cb88bf7 100644 --- a/tests/Monolog/Writer/StreamWriterTest.php +++ b/tests/Monolog/Writer/StreamWriterTest.php @@ -19,9 +19,9 @@ class StreamWritterTest extends \PHPUnit_Framework_TestCase { $handle = fopen('php://memory', 'a+'); $writer = new StreamWriter($handle); - $writer->write('log', Logger::WARNING, 'test'); - $writer->write('log', Logger::WARNING, 'test2'); - $writer->write('log', Logger::WARNING, 'test3'); + $writer->write('log', array('level' => Logger::WARNING, 'message' => 'test')); + $writer->write('log', array('level' => Logger::WARNING, 'message' => 'test2')); + $writer->write('log', array('level' => Logger::WARNING, 'message' => 'test3')); fseek($handle, 0); $this->assertEquals('testtest2test3', fread($handle, 100)); }