3 авг. 2012
Привет читателям!
Зачастую разработкой интернет-магазина занимаются неквалифицированные "специалисты", которым важно как можно скорей сдать более-менее рабочий магазин, а не создать его максимально качественно.
Потихоньку находятся всё больше и больше недочетов в уже проделанной работе...
Самое популярное - тонны ошибок в логах система (>200 мб!). Желания их исправить, повысить скорость и работоспособность системы у "специалиста" видимо не хватило.
Сначала посмотрим /var/log/system.log
А затем /var/log/exception.log
Часть источника ошибок нашлась быстро, а другую пришлось вылавливать.
Видим ошибки типа:
2012-07-31T16:05:16+00:00 ERR (3): Warning: simplexml_load_string(): Entity: line 72: parser error : Premature end of data in tag layout line 29 in /var/www/www.domain.net/app/code/core/Mage/Core/Model/Layout/Update.php on line 431
2012-07-31T16:05:16+00:00 ERR (3): Warning: simplexml_load_string(): in /var/www/www.domain.net/app/code/core/Mage/Core/Model/Layout/Update.php on line 431
2012-07-31T16:05:16+00:00 ERR (3): Warning: simplexml_load_string(): ^ in /var/www/www.domain.net/app/code/core/Mage/Core/Model/Layout/Update.php on line 431
Обратимся к функции Mage::Log();
Залезем в системный файл app/code/core/Mage/Core/Model/Layout/Update.php
app/code/core/Mage/Core/Model/Layout/Update.php
Далее перед 431 строкой добавляем код:
Mage::Log($filename);
Готово, обновляем страницу и смотри в лог /var/log/system.log
В логе будут адреса используемых xml, и если в каком-то xml файле будет ошибка, то его сразу можно легко найти.
Не забываем убрать добавленную строчку после исправления всех ошибок!
Кроме того, функция может писать произвольный текст в лог:
Mage::log('Привет мир');
И в другой файл:
Mage::log('Здесь был злой баг', null, 'mygento.log');