Magento事件记录未显示所有事件

时间:2013-02-13 21:50:20

标签: magento

我将这行添加到函数dispatchEvent($ name,$ data)下的/app/Mage.php,就在return语句的上方:

 Mage::log($name, null, 'events.log');

但是,我的events.log只显示3个不同的事件:

2013-02-13T21:46:21+00:00 DEBUG (7): resource_get_tablename
2013-02-13T21:46:21+00:00 DEBUG (7): core_collection_abstract_load_before
2013-02-13T21:46:21+00:00 DEBUG (7): core_collection_abstract_load_after

这三个只是一遍又一遍地重复。没有其他事件名称出现过。这是否意味着其他事件没有以某种方式解雇?

1 个答案:

答案 0 :(得分:2)

我找到了解决方案。有问题的代码行,在有问题的文件和函数中,使用System>中的设置;配置>高级>开发人员>日志设置>启用日志设置为“否”,我只获取问题中列出的三个事件,输出到日志文件。

如果我将该设置设置为“是”,那么我将获取所有被触发的事件。这似乎是“一个愚蠢问题的明显答案”,但由于我将日志代码硬编码到处理事件的函数中,我不知道日志记录设置如何重要。为什么dispatchEvent()会根据日志记录设置获得完全不同的输入?无论日志记录设置如何,它都不需要事件的名称吗?但是,唉,我对Magento还是比较陌生的,还不完全理解其中的想法。

我发现了另一件事:使用那个Mage:添加了日志代码行,每当我在配置中保存设置时,页面500都会保存设置。我并不是很担心这个。

TL; DR :在系统>下将“启用记录”设置为“是”配置>高级>开发人员>日志设置,除了将代码行添加到dispatchEvent()。