2013-10-28 8 views

Odpowiedz

15

Użyj innej funkcji. debug_backtrace() zwraca tablicę, że można pętli, formacie i zapisać:

$data = debug_backtrace(); 

lub użyć buforowania wyjścia dla sformatowany ciąg wyjściowy:

ob_start(); 
debug_print_backtrace(); 
$data = ob_get_clean(); 
+0

dziękuję! :) Prace – phip1611

5

Jest możliwe, aby zrobić to jeszcze mniej kodu, rzeczywiście. Uniknąć napowietrznej buforowania z ...

$error_string = (new Exception)->getTraceAsString(); 

który daje dokładnie taki sam efekt jak debug_print_backtrace() zapisany do $ error_string.

A jeśli chcesz uzyskać więcej informacji na bardziej wartościową stacktrace (numery linii, lokalne vars obiektów, itp), spróbuj ...

$error_string = print_r($e->getTrace(), true); 
0

To jest zupełnie wystarczająca do logowania celu:

$this->log(print_r(debug_backtrace(), true)); 
Powiązane problemy