70 if (!$this->handler instanceof
HandlerInterface && !is_callable($this->handler)) {
71 throw new \RuntimeException(
"The given handler (".json_encode($this->handler).
") is not a callable nor a Monolog\Handler\HandlerInterface object");
88 if ($this->stopBuffering) {
89 $this->buffering =
false;
92 $record = end($this->buffer) ?:
null;
94 $this->handler = call_user_func($this->handler, $record, $this);
96 throw new \RuntimeException(
"The factory callable should return a HandlerInterface");
99 $this->handler->handleBatch($this->buffer);
100 $this->buffer = array();
108 if ($this->processors) {
109 foreach ($this->processors as $processor) {
110 $record = call_user_func($processor, $record);
114 if ($this->buffering) {
115 $this->buffer[] = $record;
116 if ($this->bufferSize > 0 && count($this->buffer) > $this->bufferSize) {
117 array_shift($this->buffer);
119 if ($this->activationStrategy->isHandlerActivated($record)) {
123 $this->handler->handle($record);
144 $this->handler->reset();
155 $this->buffer = array();
164 if (
null !== $this->passthruLevel) {
166 $this->buffer = array_filter($this->buffer,
function ($record) use (
$level) {
167 return $record[
'level'] >=
$level;
169 if (count($this->buffer) > 0) {
170 $this->handler->handleBatch($this->buffer);
174 $this->buffer = array();
175 $this->buffering =
true;
An exception for terminatinating execution or to throw for unit testing.
Base Handler class providing the Handler structure.
Buffers all records until a certain level is reached.
isHandling(array $record)
{{Checks whether the given record will be handled by this handler.This is mostly done for performance...
clear()
Clears the buffer without flushing any messages down to the wrapped handler.
__construct($handler, $activationStrategy=null, $bufferSize=0, $bubble=true, $stopBuffering=true, $passthruLevel=null)
handle(array $record)
{Handles a record.All records may be passed to this method, and the handler should discard those that...
close()
{Closes the handler.This will be called automatically when the object is destroyed}
activate()
Manually activate this logger regardless of the activation strategy.
flushBuffer()
Resets the state of the handler.
Error level based activation strategy.
static toMonologLevel($level)
Converts PSR-3 levels to Monolog ones if necessary.
const WARNING
Exceptional occurrences that are not errors.
Interface for activation strategies for the FingersCrossedHandler.
Interface that all Monolog Handlers must implement.
Handler or Processor implementing this interface will be reset when Logger::reset() is called.