2014-03-04 176 views
0

我嘗試使用Zend Framework 2創建日誌文件。我使用Zend \ Log \ Logger和Zend \ Log \ Writer \ Stream找到了解決方案。事實上,它工作正常。但問題是我需要在每個操作方法和每個控制器類中使用該代碼。Zend Framework 2 Zend/Log Logger

有沒有人知道如何爲整個網站創建日誌文件,而無需在每個操作方法和每個控制器類中編寫相同的代碼?謝謝您的回答!

回答

2

您將使用EventManager這種功能。任何時候出現錯誤都會觸發您定義的特定錯誤事件。然後你有你的LogingModule這將掛鉤到你想要記錄的每個事件。

當然,您必須將Exception/ErrorMessage傳遞給事件。

TL/DR EventManager是您應該查找的內容。

+0

這就是我做到的 - $ eventManager = $ e-> getApplication() - > getEventManager(); $ eventManager-> attach('dispatch.error',function($ e){exception} = $ e-> getResult() - > exception; if($ exception){0} {0} = $ e-> getApplication () - > getServiceManager(); $ service = $ sm-> get('ApplicationServiceErrorHandling'); $ service-> logException($ exception); } });這是你的意思嗎? –

+0

粗略地說,您不會附加到「dispatch.error」,但您更願意接觸您的模塊提供的事件。 – Sam