Zend Framework resource.logを設定してログを取る
まずログファイルの出力先を用意します。 ~/sample/data/logsとします。eclipse上でディレクトリを作成してください。 ※Linux環境ではディレクトリを書き込み許可にしてください。
~/sample/application/configs/application.iniに設定を記述します。
################################################## # 製品版設定 ################################################## [production] # エラー表示(しない) phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 # アプリケーション構成 includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" # フロントコントローラ設定 resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" resources.frontController.params.displayExceptions = 0 # ログ設定 resources.log.stream.writerName = "Stream" resources.log.stream.writerParams.stream = APPLICATION_PATH "/../data/logs/application_" DATESTAMP ".log" resources.log.stream.writerParams.mode = "a" resources.log.stream.filterName = "Priority" resources.log.stream.filterParams.priority = 4 ################################################## # 開発版設定(製品版と異なるものだけ上書き記述する) ################################################## [development : production] # エラー表示(する) phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 # フロントコントローラ設定 resources.frontController.params.displayExceptions = 1 # ログ設定 resources.log.stream.filterParams.priority = 7
製品版では警告以上を出力、開発版ではデバッグ以上を出力としてます。 日毎にファイルを分けるために日付入りのファイル名としてます。 DATESTAMPを定義します。 ~/sample/public/index.php
// Applicationディレクトリパスの定義 defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); // エンビューロメントの定義(環境切り替え用 .htaccessに記述) defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production')); // library(ライブラリを配置している)ディレクトリにインクルードパスを通す set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../library'), get_include_path(), ))); // 年月日文字列の定義(ログファイル名に使用) define('DATESTAMP', Date('Y-m-d')); // アプリケーションの起動 require_once 'Zend/Application.php'; $application = new Zend_Application( APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini' ); $application->bootstrap() ->run();