Skip to content

Commit

Permalink
Messages are now passed as arrays
Browse files Browse the repository at this point in the history
  • Loading branch information
Seldaek committed Feb 18, 2011
1 parent 37d7f20 commit 860194e
Show file tree
Hide file tree
Showing 9 changed files with 27 additions and 19 deletions.
2 changes: 1 addition & 1 deletion src/Monolog/Formatter/FormatterInterface.php
Expand Up @@ -13,5 +13,5 @@

interface FormatterInterface
{
function format($log, $level, $message);
function format($log, $message);
}
10 changes: 5 additions & 5 deletions src/Monolog/Formatter/SimpleFormatter.php
Expand Up @@ -27,19 +27,19 @@ public function __construct($format = null, $dateFormat = null)
$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;
Expand Down
1 change: 1 addition & 0 deletions src/Monolog/Log.php
Expand Up @@ -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);
}
Expand Down
4 changes: 4 additions & 0 deletions src/Monolog/Logger.php
Expand Up @@ -62,6 +62,10 @@ public function addLog(Log $log)

public function addMessage($level, $message, $log = null)
{
$message = array(
'message' => $message,
'level' => $level,
);
if (null === $log) {
$logs = $this->logs;
} else {
Expand Down
2 changes: 1 addition & 1 deletion src/Monolog/Writer/NullWriter.php
Expand Up @@ -15,7 +15,7 @@

class NullWriter implements WriterInterface
{
public function write($log, $level, $message)
public function write($log, $message)
{
}

Expand Down
6 changes: 3 additions & 3 deletions src/Monolog/Writer/StreamWriter.php
Expand Up @@ -28,15 +28,15 @@ public function __construct($streamUrl)
}
}

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()
Expand Down
2 changes: 1 addition & 1 deletion src/Monolog/Writer/WriterInterface.php
Expand Up @@ -16,6 +16,6 @@
interface WriterInterface
{
function setFormatter(FormatterInterface $formatter);
function write($log, $level, $message);
function write($log, $message);
function close();
}
13 changes: 8 additions & 5 deletions tests/Monolog/Formatter/SimpleFormatterTest.php
Expand Up @@ -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);
}
Expand Down
6 changes: 3 additions & 3 deletions tests/Monolog/Writer/StreamWriterTest.php
Expand Up @@ -19,9 +19,9 @@ public function testWrite()
{
$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));
}
Expand Down

0 comments on commit 860194e

Please sign in to comment.