我正在嘗試解決配置我的Zend_Log_Writer_Stream實例以寫入相對於我的APPLICATION_PATH的文件名的最佳方法。Zend Framework中Zend_Log的相對路徑
例如,以下配置:
resources.log.stream.writerName = "Stream"
resources.log.stream.writerParams.stream = "logs/production.log"
的正常方式初始化你loggger將是要麼使用應用程序引導資源或執行以下操作:
$logger = Zend_Log::factory($config->resources->log);
的問題這是Zend_Log_Writer_Stream :: factory方法將嘗試訪問相對於當前腳本執行的文件,而不是APPLICATION_PATH。
因爲它幾乎總是內部/ public的index.php,通常這不是戲劇,但是當我在單元測試目錄中執行單獨的腳本時,它將使用該目錄來基於路徑。
理想我希望能夠設置:
resources.log.stream.writerParams.stream = APPLICATION_PATH . "../logs/production.log"
因此,它總是使用可預測的位置。我寧願不必破解Zend_Log繼承類的工廠方法來使其工作。
我很想聽聽別人如何解決這個問題。
感謝您指出,我是如此接近:-) – 2010-11-12 00:12:50