public function log($message, $level = self::NOTICE)
{
if ($this->disabled_stack) {
// capture to top of stack
end($this->disabled_stack);
$key = key($this->disabled_stack);
$this->disabled_stack[$key][] = ['message' => $message, 'level' => $level];
}
if ($this->level == self::OFF || $level < $this->level) {
return false;
}
if (!array_key_exists($level, self::$levels)) {
return false;
}
// when capturing, still use consistent return value
if ($this->disabled_stack) {
return true;
}
$levelString = self::$levels[$level];
// notices and below never displayed to user
$display = $this->display && $level > self::NOTICE;
$this->process("{$levelString}: {$message}", $display, $level);
return true;
}