如何改变magento 1.8的Mage :: log()时间戳?

时间:2014-02-26 09:20:33

标签: php magento datetime logging

我想将Magento的日志时间戳更改为不同的时区,任何人都知道该怎么做。

4 个答案:

答案 0 :(得分:2)

我最后没有找到任何其他方法来修改Mage.php并修改日志功能并添加/替换以下代码以在日志文件中获取我选择的时区。

$storeTimeZone = date("Y-m-d H:i:s", Mage::getModel('core/date')->timestamp(time()));
$loggers[$file]->log($storeTimeZone.' '.$message, $level);

我已将它添加到Mage.php的第841行,如果你们中的任何一个想要做同样的事情,那么你可以尝试这个肮脏的技巧。

答案 1 :(得分:0)

Magento内部设置所有cron日期在GMT中发生,它实际上覆盖了服务器php时区设置,以便所有日志事件和所有cron时间表都在GMT时区中触发 - 你可以在Mage.php中看到这个在线767.在Magento中调用的所有php时间函数都将以GMT格式显示。

date_default_timezone_set('UTC');
然后,当Magento在管理面板中显示时间时,Magento会根据您的区域设置添加时区偏移量。

这样做可以根据您的区域设置选择在不同的时区中运行多个商店。

检查您的时间戳

$storetimestamp = Mage::getModel('core/date')->timestamp(time());
$storetime = date("H:i:s",$storetimestamp)

答案 2 :(得分:0)

试试这个..我来自印度。因此,在同一app/mage.php的{​​{1}}中,我修改为line no:767,然后它开始在日志文件中将时间显示为时间戳。所以你也放置了自己的时区。

答案 3 :(得分:0)

将文件lib/Zend/Log.php复制到app/code/local/Zend/Log.php

并将功能_packEvent => timestamp修改为$storeTimeZone = date("Y-m-d H:i:s", Mage::getModel('core/date')->timestamp(time()));