15 private $backtrace_level;
23 public function __construct($level = Logger::WARNING, $backtrace_level = -1) {
24 $this->level = Logger::toMonologLevel($level);
25 $this->backtrace_level = $backtrace_level;
35 public function __invoke(LogRecord $record): LogRecord {
37 if ($record->level->isLowerThan($this->level)) {
41 $backtrace_level = $this->backtrace_level;
44 $backtrace = debug_backtrace();
46 $backtrace = array_slice($backtrace, 9);
48 $i =
count($backtrace);
50 foreach ($backtrace as $trace) {
51 if (empty($trace[
'file'])) {
53 $stack[] =
"[#$i] unknown";
55 $stack[] =
"[#$i] {$trace['file']}:{$trace['line']}";
60 if ($backtrace_level > 0) {
61 if ($backtrace_level <= 1) {
69 $record[
'extra'][
'backtrace'] = $stack;
Inject backtrace stack into the record.
__invoke(LogRecord $record)
Process record.
__construct($level=Logger::WARNING, $backtrace_level=-1)
Constructor.