mirror of
https://github.com/friendica/friendica
synced 2024-11-18 21:03:41 +00:00
Add offset parameter to System::callstack
- Enable its use in centralized methods without polluting the stack
This commit is contained in:
parent
639e2b3892
commit
19141b1bcf
1 changed files with 6 additions and 5 deletions
|
@ -33,16 +33,17 @@ class System
|
||||||
/**
|
/**
|
||||||
* Returns a string with a callstack. Can be used for logging.
|
* Returns a string with a callstack. Can be used for logging.
|
||||||
*
|
*
|
||||||
* @param integer $depth optional, default 4
|
* @param integer $depth How many calls to include in the stacks after filtering
|
||||||
|
* @param int $offset How many calls to shave off the top of the stack, for example if
|
||||||
|
* this is called from a centralized method that isn't relevant to the callstack
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public static function callstack($depth = 4)
|
public static function callstack(int $depth = 4, int $offset = 0)
|
||||||
{
|
{
|
||||||
$trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
|
$trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
|
||||||
|
|
||||||
// We remove the first two items from the list since they contain data that we don't need.
|
// We remove at least the first two items from the list since they contain data that we don't need.
|
||||||
array_shift($trace);
|
$trace = array_slice($trace, 2 + $offset);
|
||||||
array_shift($trace);
|
|
||||||
|
|
||||||
$callstack = [];
|
$callstack = [];
|
||||||
$previous = ['class' => '', 'function' => '', 'database' => false];
|
$previous = ['class' => '', 'function' => '', 'database' => false];
|
||||||
|
|
Loading…
Reference in a new issue