我想记录一些变量,例如 $mageRunCode 在命中之前:

Mage::run($mageRunCode, $mageRunType);

看起来 Mage::log 而且,即使是Zend Logging设施似乎也没有在此处注销到任意文件输出。一个人将如何正确进行?

有帮助吗?

解决方案

您必须在mage :: run之前这样做的任何具体原因在index.php中调用吗?您担心他们会改变吗?

尝试在此点登录将需要您调整核心文件(index.php),这不是很好的做法。

一些流程:

在Mage :: Run您得到:

self::$_app->run(array(
                'scope_code' => $code,
                'scope_type' => $type,
                'options'    => $options,
            ));

此时,您感兴趣的变量没有变化。

在mage_core_model_app ::运行中,您可以获得此代码行:

Mage::register('application_params', $params);

因此,Magento Internals很好地保存了您在注册表中使用的参数。

要记录它们,您可以使用事件“ controller_front_init_before”,这是最早(可用的)事件之一。

在这种情况下,您可以提取保存的参数并记录它们。

$params = mage::registry('application_params');

要注意的是,这将在您的网站性能上放置一个巨大的开销,因为它将登录每个请求。好奇您为什么需要记录它们?

最早的可用活动

其他提示

我假设您正在尝试在开发人员模式/本地环境中登录东西,并且想解决。

如果要在Magento中将某些内容记录到自定义日志文件,则可以使用

Mage::log($myVariable, null, 'myVariable.log');

为此,您需要在管理后端启用日志记录。这将记录到 magento_root/var/log/myVariable.log

提示:您还可以使用整个回溯(对于其他深层铺设的代码)打印整个回溯

Mage::log(Varien_Debug::backtrace(true, true), null, 'backtrace.log');

打印整个回溯的优点是,您可以看到呼叫所遵循的确切方法/XML流以达到执行点,即PHP代码中的任何位置。当然,这将结果输出到 magento_root/var/log/backtrace.log

许可以下: CC-BY-SA归因
scroll top