Самый простой способ вывести отладочный контент в файл - PullRequest
0 голосов
/ 25 сентября 2010

У меня есть приложение с различными PHP-скриптами. Я хочу получить представление о том, сколько времени требуется, чтобы выполнение переместилось из одной точки в другую (таких точек много).

Я искал простую строку php, которую я могу вставить без изменений в разные места моего кода и получить выходной файл (НЕ сгенерированный html), который показывает что-то вроде:

FILENAME      FUNCTION        LINENUMBER      TIMESTAMP

Я начал использовать это:

file_put_contents('/home/default/public_html/debug.log',  __FILE__ . "\t" .
 __FUNCTION__ . "\t" . __LINE__ . "\t" . microtime(true)."\n", FILE_APPEND);

что хорошо, но есть ли лучшие способы сделать то же самое?

Ответы [ 2 ]

1 голос
/ 25 сентября 2010

Вы можете использовать расширение XDebug для генерации необработанных данных профилирования.По умолчанию в вашем каталоге / tmp будут сгенерированы файлы, которые вы можете создать с помощью инструментов командной строки или различных графических интерфейсов.

1 голос
/ 25 сентября 2010

Для простого способа сделать это можно использовать глобальную систему ошибок PHP с уровнем trigger_error() и E_NOTICE или функцию error_log() для входа в отдельный файл.

В вашем случае я бы рекомендовал второе решение.


С trigger_error():

<?php
    trigger_error("Call will start now", E_NOTICE);
    startTheHugeCall();
    trigger_error("Call is finished", E_NOTICE);
?>

С error_log():

<?php
    error_log("Call will start now", 3, "/var/tmp/debugfile.log");
    startTheHugeCall();
    error_log("Call is finished", 3, "/var/tmp/debugfile.log");
?>

Ресурсы:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...