Random thoughts on debugging in magento
Logging magento queries
Sometimes you need to take a look at the queries generated by magento while loading different objects or collections. To log queries edit lib/Varien/Db/Adapter/Pdo/Mysql.php and change the following line:
protected $_debug = false;
to
protected $_debug = true;
The log file is specified in:
protected $_debugFile = 'var/debug/pdo_mysql.log';
Logging ALL magento queries
Even with logging enabled not all queries are logged. To enable logging all queries change:
protected $_logAllQueries = false;
to
protected $_logAllQueries = true;
Logging all magento events
To log all the events magento throws edit app/Mage.php and add the following line to the dispatchEvent function:
Mage::log($name, null, 'events.log');
After the change the function should look something like:
public static function dispatchEvent($name, array $data = array())
{
Mage::log($name, null, 'events.log');
Varien_Profiler::start('DISPATCH EVENT:'.$name);
$result = self::app()->dispatchEvent($name, $data);
#$result = self::registry('events')->dispatch($name, $data);
Varien_Profiler::stop('DISPATCH EVENT:'.$name);
return $result;
}
Events will be logged to var/log/events.log