mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-04 12:17:35 +02:00
Messages are now passed as arrays
This commit is contained in:
@@ -13,5 +13,5 @@ namespace Monolog\Formatter;
|
|||||||
|
|
||||||
interface FormatterInterface
|
interface FormatterInterface
|
||||||
{
|
{
|
||||||
function format($log, $level, $message);
|
function format($log, $message);
|
||||||
}
|
}
|
||||||
|
@@ -27,19 +27,19 @@ class SimpleFormatter implements FormatterInterface
|
|||||||
$this->dateFormat = $dateFormat ?: self::SIMPLE_DATE;
|
$this->dateFormat = $dateFormat ?: self::SIMPLE_DATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function format($log, $level, $message)
|
public function format($log, $message)
|
||||||
{
|
{
|
||||||
$defaults = array(
|
$defaults = array(
|
||||||
'log' => $log,
|
'log' => $log,
|
||||||
'level' => Logger::getLevelName($level),
|
'level' => Logger::getLevelName($message['level']),
|
||||||
'date' => date($this->dateFormat),
|
'date' => date($this->dateFormat),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (is_array($message)) {
|
if (is_array($message['message'])) {
|
||||||
$vars = array_merge($defaults, $message);
|
$vars = array_merge($defaults, $message['message']);
|
||||||
} else {
|
} else {
|
||||||
$vars = $defaults;
|
$vars = $defaults;
|
||||||
$vars['message'] = $message;
|
$vars['message'] = $message['message'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$message = $this->format;
|
$message = $this->format;
|
||||||
|
@@ -22,6 +22,7 @@ class Log
|
|||||||
public function __construct($name, $level = Logger::WARNING, $writers = array())
|
public function __construct($name, $level = Logger::WARNING, $writers = array())
|
||||||
{
|
{
|
||||||
$this->name = $name;
|
$this->name = $name;
|
||||||
|
// TODO move level down to the writers
|
||||||
$this->level = $level;
|
$this->level = $level;
|
||||||
$this->writers = is_array($writers) ? $writers : array($writers);
|
$this->writers = is_array($writers) ? $writers : array($writers);
|
||||||
}
|
}
|
||||||
|
@@ -62,6 +62,10 @@ class Logger
|
|||||||
|
|
||||||
public function addMessage($level, $message, $log = null)
|
public function addMessage($level, $message, $log = null)
|
||||||
{
|
{
|
||||||
|
$message = array(
|
||||||
|
'message' => $message,
|
||||||
|
'level' => $level,
|
||||||
|
);
|
||||||
if (null === $log) {
|
if (null === $log) {
|
||||||
$logs = $this->logs;
|
$logs = $this->logs;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -15,7 +15,7 @@ use Monolog\Formatter\FormatterInterface;
|
|||||||
|
|
||||||
class NullWriter implements WriterInterface
|
class NullWriter implements WriterInterface
|
||||||
{
|
{
|
||||||
public function write($log, $level, $message)
|
public function write($log, $message)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -28,15 +28,15 @@ class StreamWriter implements WriterInterface
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function write($log, $level, $message)
|
public function write($log, $message)
|
||||||
{
|
{
|
||||||
if (null === $this->stream) {
|
if (null === $this->stream) {
|
||||||
$this->stream = fopen($this->url, 'a');
|
$this->stream = fopen($this->url, 'a');
|
||||||
}
|
}
|
||||||
if ($this->formatter) {
|
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()
|
public function close()
|
||||||
|
@@ -16,6 +16,6 @@ use Monolog\Formatter\FormatterInterface;
|
|||||||
interface WriterInterface
|
interface WriterInterface
|
||||||
{
|
{
|
||||||
function setFormatter(FormatterInterface $formatter);
|
function setFormatter(FormatterInterface $formatter);
|
||||||
function write($log, $level, $message);
|
function write($log, $message);
|
||||||
function close();
|
function close();
|
||||||
}
|
}
|
||||||
|
@@ -18,17 +18,20 @@ class SimpleFormatterTest extends \PHPUnit_Framework_TestCase
|
|||||||
public function testDefFormatWithString()
|
public function testDefFormatWithString()
|
||||||
{
|
{
|
||||||
$formatter = new SimpleFormatter(null, 'Y-m-d');
|
$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);
|
$this->assertEquals('['.date('Y-m-d').'] log.WARNING: foo'."\n", $message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testDefFormatWithArray()
|
public function testDefFormatWithArray()
|
||||||
{
|
{
|
||||||
$formatter = new SimpleFormatter(null, 'Y-m-d');
|
$formatter = new SimpleFormatter(null, 'Y-m-d');
|
||||||
$message = $formatter->format('xx', Logger::ERROR, array(
|
$message = $formatter->format('xx', array(
|
||||||
'log' => 'log',
|
'level' => Logger::ERROR,
|
||||||
'level' => 'WARNING',
|
'message' => array(
|
||||||
'message' => 'foo'
|
'log' => 'log',
|
||||||
|
'level' => 'WARNING',
|
||||||
|
'message' => 'foo',
|
||||||
|
)
|
||||||
));
|
));
|
||||||
$this->assertEquals('['.date('Y-m-d').'] log.WARNING: foo'."\n", $message);
|
$this->assertEquals('['.date('Y-m-d').'] log.WARNING: foo'."\n", $message);
|
||||||
}
|
}
|
||||||
|
@@ -19,9 +19,9 @@ class StreamWritterTest extends \PHPUnit_Framework_TestCase
|
|||||||
{
|
{
|
||||||
$handle = fopen('php://memory', 'a+');
|
$handle = fopen('php://memory', 'a+');
|
||||||
$writer = new StreamWriter($handle);
|
$writer = new StreamWriter($handle);
|
||||||
$writer->write('log', Logger::WARNING, 'test');
|
$writer->write('log', array('level' => Logger::WARNING, 'message' => 'test'));
|
||||||
$writer->write('log', Logger::WARNING, 'test2');
|
$writer->write('log', array('level' => Logger::WARNING, 'message' => 'test2'));
|
||||||
$writer->write('log', Logger::WARNING, 'test3');
|
$writer->write('log', array('level' => Logger::WARNING, 'message' => 'test3'));
|
||||||
fseek($handle, 0);
|
fseek($handle, 0);
|
||||||
$this->assertEquals('testtest2test3', fread($handle, 100));
|
$this->assertEquals('testtest2test3', fread($handle, 100));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user