你如何自定义日志目录?

时间:2012-07-18 23:16:27

标签: magento

我正在尝试通过在Mage :: app()$选项中设置log_dir来自定义我的Magento日志目录,但它仍然记录到var/log/file.log

注意:我一般都无法在SO或网络上找到这些信息,所以我觉得需要这样做。

1 个答案:

答案 0 :(得分:2)

事实证明(至少从1.6.2.0开始),Magento实际上并没有在它的log()方法中使用Mage::getBaseDir('log') - 弱酱,对吗?

它使用Mage::getBaseDir('var')并附加log,然后附加您传入的文件名。

如果你想自定义目录,你必须弄脏手。例如,在我们的例子中,我们希望日志目录为:

var/username/log/file.log

所以这就是你如何破坏它。将它放在config.xml中,告诉Magento新的日志记录类:

    <log>
        <core>
            <writer_model>Name_Module_Model_Zend_Log_Writer_Stream</writer_model>
        </core>
    </log>

然后,创建一个模型:

class Name_Module_Model_Zend_Log_Writer_Stream extends Zend_Log_Writer_Stream

然后,继续做你需要做的事情。就我而言,它是这样的:

public function __construct($streamOrUrl, $mode = NULL)
{        
    $newLogPath = $this->_workMyMagicOnLogFilePath($streamOrUrl, $mode);

    return parent::__construct($newLogPath, $mode);
}
相关问题