"Работа над ошибками" в 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'] – иногда одна и та же ошибка может повторяться на одной странице много раз, например, когда в цикле идет обращение к несуществующей переменной. И этот параметр используется, чтоб избежать многократного тупого вывода одной и той же ошибки и не забивать напрасно лог файл.

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

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

  • Отслеживание ошибок — копаем глубже
    Один из законов Мерфи гласит: все, что может сломаться, ломается. Поэтому иногда случается так, что на сайте, где все работало без проблем, вдруг возникают ошибки. А уж когда ведется активная работа над изменением...
  • Для тех кто не может расстаться с Livestreet и Altocms
    Долгое время с предубеждением относился к движку instantcms. Уже не помню в чем были причины, но это уже и не важно. А важно то, что LS и Alto загнулись окончательно, а instantcms живет и здравствует. Думаю могу дать ...
  • Новый функционал
    Нашел в комментариях разговор(2014 года) про расширение, написали прям в точку чего не хватает: Слишком размытый вопрос, чтоб на него можно было конкретно ответить. Возможности админа нужно расширять не для того,...
  • Ошибка в плагине «Гостевые комментарии»
    Устанавливаю плагин «Гостевые комментарии», побывал разные версии: из каталога 1.1.9 и с гитхаба 1.1.10 на AltoCMS 1.1.29 В настройках указываю обязательный email адрес, нажимаю сохранить и вылетает такая ошибка...

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

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