我的日志充满了这种错误,有时会出现顺序问题。日志不会告知此错误生成的程序。
我如何找出这种错误产生的一般程序,在所有程序中搜索文本,例如"保存产品错误"无济于事?是否有一个数据库类/函数可以针对此类错误进行调试并找到问题程序?
可以使用Varien_Db_Adapter_Pdo_Mysql
并设置一些属性来生成日志文件。
class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements Varien_Db_Adapter_Interface
{
// :
protected $_debug = true;
// :
protected $_logAllQueries = true;
// :
protected $_logCallStack = true;
// :
}
这样,将创建一个名为var/debug/pdo_mysql.log
的日志文件,Magento将记录每个SQL语句(和异常),包括每个操作的堆栈跟踪。
通过轻松检查堆栈跟踪,您可以确定哪个方法调用导致了给定的异常。