"Работа над ошибками" в Alto CMS

Тем, кто занимается разработкой и отладкой под Альто, полезно будет узнать о некоторых нюансах обработки ошибок в движке, чтоб максимально эффективно использовать эти возможности.

Если вы еще не в курсе, то самое время узнать, что в Альто есть встроенный механизм перехватывания и обработки ошибок. Т.е. абсолютно все PHP-ошибки (за исключением ошибок на этапе компиляции) движок перехватывает и пытается их записать в лог-файл. Поэтому очень рекомендую периодически поглядывать в соответствующую папочку лог-файлов своих сайтов – не накопилось ли для вас там пачка ошибок за время вашего отсутствия. А чтоб разбираться с ошибками было проще, следует обратить внимание на некоторые параметры конфигурации:
$config['sys']['logs']['error_file']      = 'error.log'; // файл лога ошибок
$config['sys']['logs']['error_extinfo']   = false;       // дополнительная информация в логе
$config['sys']['logs']['error_callstack'] = false;       // выводить стек вызовов в лог ошибок
$config['sys']['logs']['error_norepeat']  = true;        // не повторять вывод одинаковых ошибок
И если с первым параметром, думаю, все ясно, то по следующим трем небольшие пояснения:

$config['sys']['logs']['error_extinfo'] – под «дополнительной информацией» здесь понимается значение глобальной переменной $_SERVER. Иногда именно эта информация помогает понять, почему скрипт себя ведет не так, как ожидается.

$config['sys']['logs']['error_callstack'] – для фатальных ошибок этот параметр, в общем-то, бесполезен. Но для прочих (E_NOTICE, E_WARNING и т.д.) он выдает полный стек вызовов функций/методов, чтоб можно было понять, как мы оказались в той точке скрипта, где возникает эта ошибка.

$config['sys']['logs']['error_norepeat'] – иногда одна и та же ошибка может повторяться на одной странице много раз, например, когда в цикле идет обращение к несуществующей переменной. И этот параметр используется, чтоб избежать многократного тупого вывода одной и той же ошибки и не забивать напрасно лог файл.

Разумеется, нынешний обработчик ошибок далеко не идеален, и есть куда его развивать дальше (например, постараться научить его не просто фиксировать ошибки, но и извещать о них администратора сайта). Но грамотное использование уже имеющихся возможностей поможет вам гораздо эффективней находить и исправлять багги на ваших сайтах.

Похожие статьи


0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.