J'utilise ceci en ce moment:
error_log(serialize(debug_backtrace()));
Mais je dois le désérialiser à chaque fois. Existe-t-il un meilleur moyen de stocker les backtraces?
Cela devrait générer une chaîne lisible:
error_log(print_r(debug_backtrace(), true));
De plus, debug_print_backtrace () affiche la trace arrière sous forme de chaîne et sa sortie peut être capturée avec des fonctions de tampon de sortie normales:
ob_start();
debug_print_backtrace();
error_log(ob_get_clean());
De mon point de vue, la meilleure approche consiste à utiliser une fonctionnalité d'exception:
$e = new Exception();
$e->getTraceAsString();
$log = var_export(debug_backtrace(), true);
Utilisez ensuite la variable $log
pour vous connecter au fichier ou quoi que ce soit.
Un peu moche mais réalisable, je fais ça:
error_log('Identifying string so that it doesn\'t just end up as gibberish' . json_encode(debug_backtrace()));
Ce qui suit peut être écrit dans un fichier .txt ou vous pouvez également accéder à son contenu (comme $ content [0]) par opposition à var_export qui est un peu plus délicat je trouve:
$content = unserialize(serialize(debug_backtrace()));