Привет читателям!

Зачастую разработкой интернет-магазина занимаются неквалифицированные "специалисты", которым важно как можно скорей сдать более-менее рабочий магазин, а не создать его максимально качественно.

Потихоньку находятся всё больше и больше недочетов в уже проделанной работе...

Самое популярное - тонны ошибок в логах система (>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');