我正在尝试通过log_dir
在 Mage::app() $options 中设置来自定义我的 Magento 的日志目录,但它仍在登录到var/log/file.log
.
注意:我无法在 SO 或一般网络上很容易地找到此信息,所以我觉得需要 SO'd。
我正在尝试通过log_dir
在 Mage::app() $options 中设置来自定义我的 Magento 的日志目录,但它仍在登录到var/log/file.log
.
注意:我无法在 SO 或一般网络上很容易地找到此信息,所以我觉得需要 SO'd。
所以事实证明(至少从 1.6.2.0 开始),Magento 实际上并没有使用Mage::getBaseDir('log')
它的 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);
}