我在 Magento 中创建了一个自定义模块。现在我想在日志/调试文件中记录(调试)我的模块流程和处理功能。
我知道 Mage::Log() 函数会这样做,但我想用我自己的日志文件自定义它。这样我就可以在另一个窗口中查看它。
我应该在哪里编写 Logger 方法,以便我可以访问 Module 的所有资源中的方法,如 Module、Block、Controller 和 Helpers ..
请帮我-
-普拉文
您可以使用方法从/app/Mage.php
public static function log($message, $level = null, $file = '', $forceLog = false)
3d 参数是文件,你可以指定它,所有的日志信息都会在里面。
Mage::log('Some exseption', Zend_Log::ERR, 'my_module.log');
如果我正确理解您的问题;放置这种方法的最佳位置是在模块的助手中。
app/code/local/My/Module/Helper/Data.php:
class My_Module_Helper_Data extends Mage_Core_Helper_Data
{
public function myLog( $desc, $val, $log = 'my_module.log' ) {
return Mage::log( $desc, $val, $log );
}
}
这样你就可以通过模块助手类调用你自己的日志:
Mage::helper('my_module')->myLog( 'A variable: ', $val );
但是,我同意@viakondratiuk 的观点,这可能不是一个好主意,因为它比默认Mage::log
方法更复杂。