1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-12 08:04:02 +02:00

Added some methods in the HandlerInterface and some typehints

This commit is contained in:
Christophe Coevoet
2011-03-19 23:07:44 +01:00
parent fb503eebf2
commit 3a3c96d6d7
6 changed files with 56 additions and 14 deletions

View File

@@ -12,6 +12,7 @@
namespace Monolog\Handler; namespace Monolog\Handler;
use Monolog\Logger; use Monolog\Logger;
use Monolog\Formatter\FormatterInterface;
use Monolog\Formatter\LineFormatter; use Monolog\Formatter\LineFormatter;
/** /**
@@ -35,12 +36,12 @@ abstract class AbstractHandler implements HandlerInterface
$this->bubble = $bubble; $this->bubble = $bubble;
} }
public function isHandling($record) public function isHandling(array $record)
{ {
return $record['level'] >= $this->level; return $record['level'] >= $this->level;
} }
public function handle($record) public function handle(array $record)
{ {
if ($record['level'] < $this->level) { if ($record['level'] < $this->level) {
return false; return false;
@@ -61,7 +62,7 @@ abstract class AbstractHandler implements HandlerInterface
return false === $this->bubble; return false === $this->bubble;
} }
abstract public function write($record); abstract public function write(array $record);
public function close() public function close()
{ {
@@ -77,7 +78,7 @@ abstract class AbstractHandler implements HandlerInterface
return array_shift($this->processors); return array_shift($this->processors);
} }
public function setFormatter($formatter) public function setFormatter(FormatterInterface $formatter)
{ {
$this->formatter = $formatter; $this->formatter = $formatter;
} }

View File

@@ -53,7 +53,7 @@ class FingersCrossedHandler extends AbstractHandler
* @param array $record Records * @param array $record Records
* @return Boolean Whether the record was handled * @return Boolean Whether the record was handled
*/ */
public function handle($record) public function handle(array $record)
{ {
if ($this->buffering) { if ($this->buffering) {
$this->buffer[] = $record; $this->buffer[] = $record;
@@ -85,10 +85,10 @@ class FingersCrossedHandler extends AbstractHandler
} }
/** /**
* Implemented to comply with the AbstractHandler rqeuirements. Can not be called. * Implemented to comply with the AbstractHandler requirements. Can not be called.
*/ */
public function write($record) public function write(array $record)
{ {
throw new \LogicException('This method should not be called directly on the FingersCrossedHandler.'); throw new \BadMethodCallException('This method should not be called directly on the FingersCrossedHandler.');
} }
} }

View File

@@ -11,6 +11,8 @@
namespace Monolog\Handler; namespace Monolog\Handler;
use Monolog\Formatter\FormatterInterface;
/** /**
* Interface that all Monolog Handlers must implement * Interface that all Monolog Handlers must implement
* *
@@ -18,7 +20,46 @@ namespace Monolog\Handler;
*/ */
interface HandlerInterface interface HandlerInterface
{ {
public function isHandling($record); /**
* Checks whether the handler handles the record.
*
* @return Boolean
*/
public function isHandling(array $record);
public function handle($record); /**
* Handles a record.
*
* @param array $record The record to handle
* @return Boolean Whether the handler stops the propagation in the stack or not.
*/
public function handle(array $record);
/**
* Adds a processor in the stack.
*
* @param callable $callback
*/
function pushProcessor($callback);
/**
* Removes the processor on top of the stack and returns it.
*
* @return callable
*/
function popProcessor();
/**
* Sets the formatter.
*
* @param FormatterInterface $formatter
*/
function setFormatter(FormatterInterface $formatter);
/**
* Gets the formatter.
*
* @return FormatterInterface
*/
function getFormatter();
} }

View File

@@ -23,7 +23,7 @@ use Monolog\Logger;
*/ */
class NullHandler extends AbstractHandler class NullHandler extends AbstractHandler
{ {
public function handle($record) public function handle(array $record)
{ {
if ($record['level'] < $this->level) { if ($record['level'] < $this->level) {
return false; return false;
@@ -31,7 +31,7 @@ class NullHandler extends AbstractHandler
return false === $this->bubble; return false === $this->bubble;
} }
public function write($record) public function write(array $record)
{ {
} }
} }

View File

@@ -36,7 +36,7 @@ class StreamHandler extends AbstractHandler
} }
} }
public function write($record) public function write(array $record)
{ {
if (null === $this->stream) { if (null === $this->stream) {
if (!$this->url) { if (!$this->url) {

View File

@@ -85,7 +85,7 @@ class TestHandler extends AbstractHandler
return false; return false;
} }
public function write($record) public function write(array $record)
{ {
$this->recordsByLevel[$record['level']][] = $record; $this->recordsByLevel[$record['level']][] = $record;
$this->records[] = $record; $this->records[] = $record;