42

私は今これを使用しています:

error_log(serialize(debug_backtrace()));

しかし、私は毎回それを逆シリアル化する必要があります。バックトレースを保存するためのより良い方法はありますか?

4

6 に答える 6

59

これにより、読み取り可能な文字列が生成されます。

error_log(print_r(debug_backtrace(), true));

さらに、debug_print_backtrace()はバック トレースを文字列として出力し、その出力は通常の出力バッファ関数でキャプチャできます。

ob_start();
debug_print_backtrace();
error_log(ob_get_clean());
于 2011-12-03T17:04:35.857 に答える
18

私の観点からは、例外機能を使用するのが最善の方法です。

$e = new Exception();
$e->getTraceAsString();
于 2016-11-09T13:16:26.203 に答える
8
    $log = var_export(debug_backtrace(), true);

次に、変数$logを使用してファイルなどにログインします。

于 2012-06-07T04:07:17.290 に答える
4

少し醜いですが、実行可能です。私はこれを行います:

 error_log('Identifying string so that it doesn\'t just end up as gibberish' . json_encode(debug_backtrace()));
于 2011-12-03T17:01:47.897 に答える