2014-02-26 42 views
1

我想將Magento的日誌時間戳記更改爲不同的時區,任何人都有任何想法如何做到這一點。如何更改magento 1.8的Mage :: log()時間戳?

+0

如果您有多商店設置,則可以轉至 系統>配置>常規>區域設置選項>時區並更改時區。更多你可以打印知道當前時間 echo date(「Y-m-d H:i:s」,Mage :: getModel('core/date') - > timestamp(time())); exit; – Slimshadddyyy

回答

1

我沒有找到任何其他的方式來做到這一點,最後我修改了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,如果任何你想要做同樣的比你可以試試這個卑鄙的手段。

0

Magento內部設置所有的cron日期發生在格林尼治標準時間,它實際上覆蓋了服務器的php時區設置,以便所有的日誌事件和所有的cron時間表在GMT時區觸發 - 你可以在Mage.php中看到這一點第767行。所有在Magento中調用的php時間函數都將在GMT時間結束。

date_default_timezone_set('UTC'); 

的Magento然後重新添加你的時區偏移是基於你的本地設置時,就說明你的管理面板倍。

它這樣做,因此您可以根據您的區域設置選擇在不同的時區中運行多個商店。

檢查時間戳

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

我沒有在Mage.php的第527行上看到GMT時區 –

+0

date_default_timezone_set('UTC'); – Slimshadddyyy

+0

它是在線號碼:767在magento 1.7 –

0

試試這個..我來自印度。因此,在app/mage.phpline no:767相同,我修改爲date_default_timezone_set('Asia/Calcutta');,然後它開始在日誌文件中顯示我的時間作爲時間戳記。所以你也放置你自己的時區。

+0

你確定它不會影響其他部分嗎? –

+0

它會影響..我做了一個命令測試。以前,當我發佈訂單時,它將通過管理面板中的訂單默認時間戳創建。但這不是正確的時間戳。如果您如上所述更改,現在您也可以在訂單中看到當前時間戳。 –