Source of file BasicBacktraceReporter.php
Size: 1,582 Bytes - Last Modified: 2021-12-24T06:35:34+00:00
/var/www/docs.ssmods.com/process/src/src/Camspiers/LoggerBridge/BacktraceReporter/BasicBacktraceReporter.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | <?php namespace Camspiers\LoggerBridge\BacktraceReporter; /** * Class BasicBacktraceReporter */ class BasicBacktraceReporter implements BacktraceReporter { /** * Backtrace limit. Defaults to 0 * @var int */ protected $backtraceLimit = 0; /** * Sets the limit on the number of backtrace calls shown * @param int $backtraceLimit */ public function setBacktraceLimit($backtraceLimit) { $this->backtraceLimit = (int) $backtraceLimit; } /** * Returns the backtrace limit * @return int */ public function getBacktraceLimit() { return $this->backtraceLimit; } /** * Returns a basic backtrace * @param mixed $exception * @return array */ public function getBacktrace($exception = null) { $skipLimit = false; if ($exception instanceof \Exception || $exception instanceof \Throwable) { $backtrace = $exception->getTrace(); foreach ($backtrace as $index => $backtraceCall) { unset($backtrace[$index]['args']); } } elseif (version_compare(PHP_VERSION, '5.4.0') >= 0) { $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, $this->backtraceLimit); $skipLimit = true; } else { $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); } if ($this->backtraceLimit > 0 && !$skipLimit) { $backtrace = array_slice($backtrace, 0, $this->backtraceLimit); } return $backtrace; } } |