svnno****@sourc*****
svnno****@sourc*****
2009年 4月 10日 (金) 12:18:51 JST
Revision: 31 http://svn.sourceforge.jp/view?root=frameworkspider&view=rev&rev=31 Author: m_nakashima Date: 2009-04-10 12:18:50 +0900 (Fri, 10 Apr 2009) Log Message: ----------- Modified Paths: -------------- current/DATA/define.inc.php current/DATA/lib/spider/ModuleBase.class.php current/README.txt -------------- next part -------------- Modified: current/DATA/define.inc.php =================================================================== --- current/DATA/define.inc.php 2009-04-10 02:53:58 UTC (rev 30) +++ current/DATA/define.inc.php 2009-04-10 03:18:50 UTC (rev 31) @@ -91,6 +91,13 @@ /* * システムレポートとメール通知設定 */ +// ログ出力レベルの定義 +define('SPIDER_LOG_LEVEL_FATAL', 0); +define('SPIDER_LOG_LEVEL_ERROR', 1); +define('SPIDER_LOG_LEVEL_INFO', 2); +define('SPIDER_LOG_LEVEL_REPORT', 3); +define('SPIDER_LOG_LEVEL_DEBUG', 4); + // システムメール定義ファイル名 define ( 'FILE_NAME_SYSTEM_DEFINITION', 'system.inc.php' ); // システムメール定義ファイルパス Modified: current/DATA/lib/spider/ModuleBase.class.php =================================================================== --- current/DATA/lib/spider/ModuleBase.class.php 2009-04-10 02:53:58 UTC (rev 30) +++ current/DATA/lib/spider/ModuleBase.class.php 2009-04-10 03:18:50 UTC (rev 31) @@ -115,50 +115,44 @@ * @param $message ログメッセージ * @param $log_level 出力するログのレベル */ - function write_log( $message, $log_level='info' ) { - $log_level = 3; + function write_log( $message, $log_level=SPIDER_LOG_LEVEL_INFO ) { + $system_log_level = SPIDER_LOG_LEVEL_INFO; if( defined('SYSTEM_LOG_LEVEL') && is_numeric(SYSTEM_LOG_LEVEL) && preg_match('/^[0-4]$/',SYSTEM_LOG_LEVEL) > 0 ) { - $log_level = SYSTEM_LOG_LEVEL; + $system_log_level = SYSTEM_LOG_LEVEL; } else if( defined('MODE_LOG') && is_numeric(MODE_LOG) && preg_match('/^[0-4]$/',MODE_LOG) > 0 ) { - $log_level = MODE_LOG; - } else { - $log_level = 3; + $system_log_level = MODE_LOG; } - if( $log_level == 4 && $log_level != 'fatal' ) { + // システム設定のログレベルより大きいレベルのログは出力しない + if( $log_level > $system_log_level ) { return true; - } else if ( $log_level == 3 - && $log_level != 'info' && $log_level != 'fatal' ) { - return true; - } else if ( $log_level == 2 - && $log_level != 'error' && $log_level != 'info' - && $log_level != 'fatal' ) { - return true; - } else if ( $log_level == 1 - && $log_level != 'report' && $log_level != 'error' - && $log_level != 'info' && $log_level != 'fatal' ) { - return true; } // ログファイル名の決定 - $log_file_path = DIR_PATH_LOG - . DIRECTORY_SEPARATOR . "sp_module" - ; + $log_file_path = DIR_PATH_LOG.DIRECTORY_SEPARATOR.'spider'; if( !file_exists( $log_file_path ) ) { - mkdir( $log_file_path, 0777 ); - chmod( $log_file_path, 0777 ); + if( @mkdir( $log_file_path, 0777 ) ) { + @chmod( $log_file_path, 0777 ); + } } - if( strlen(trim($log_level)) > 0 ) { - $log_file_path .= DIRECTORY_SEPARATOR . trim($log_level) - . "_" . date('Y_m') . ".log"; - } else { - $log_file_path .= DIRECTORY_SEPARATOR - . "info_" . date('Y_m') . ".log"; + $log_file_path = $log_file_path.DIRECTORY_SEPARATOR.date('Y'); + if( !file_exists( $log_file_path ) ) { + if( @mkdir( $log_file_path, 0777 ) ) { + @chmod( $log_file_path, 0777 ); + } } - if( strlen( $log_file_path ) > 2 && !file_exists($log_file_path) ) { - touch( $log_file_path, 0666 ); - chmod( $log_file_path, 0666 ); + $log_file_path = $log_file_path.DIRECTORY_SEPARATOR.date('m'); + if( !file_exists( $log_file_path ) ) { + if( @mkdir( $log_file_path, 0777 ) ) { + @chmod( $log_file_path, 0777 ); + } } + $log_file_path = $log_file_path.DIRECTORY_SEPARATOR.'system_'.date('d').'.log'; + if( !file_exists( $log_file_path ) ) { + if(@touch( $log_file_path, 0666 )){ + @chmod( $log_file_path, 0666 ); + } + } $message = str_replace( "\r\n", "\n", $message ); $message = str_replace( "\r", "\n", $message ); $message = str_replace( "\n", " ", $message ); @@ -178,35 +172,35 @@ * @param $message ログメッセージ */ function info($message){ - $this->write_log( $message, 'info' ); + $this->write_log( $message, SPIDER_LOG_LEVEL_INFO ); } /** * Reportレベルのログを出力します。 * @param $message ログメッセージ */ function report($message){ - $this->write_log( $message, 'report' ); + $this->write_log( $message, SPIDER_LOG_LEVEL_REPORT ); } /** * Errorレベルのログを出力します。 * @param $message ログメッセージ */ function error($message){ - $this->write_log( $message, 'error' ); + $this->write_log( $message, SPIDER_LOG_LEVEL_ERROR ); } /** * Fatalレベルのログを出力します。 * @param $message ログメッセージ */ function fatal($message){ - $this->write_log( $message, 'fatal' ); + $this->write_log( $message, SPIDER_LOG_LEVEL_FATAL ); } /** * Debugレベルのログを出力します。 * @param $message ログメッセージ */ function debug($message){ - $this->write_log( $message, 'debug' ); + $this->write_log( $message, SPIDER_LOG_LEVEL_DEBUG ); } } ?> Modified: current/README.txt =================================================================== --- current/README.txt 2009-04-10 02:53:58 UTC (rev 30) +++ current/README.txt 2009-04-10 03:18:50 UTC (rev 31) @@ -15,6 +15,8 @@ lib/spider/module/AutoEncode.class.phpで配列入力をエンコード出来ていなかった問題を修正しました。 lib/spider/module/AutoFormat.class.phpを追加しました。 +3) ModuleBase.class.phpのログ出力をdefineで定義して整えました。 + -- 2009-04-07 1) ModuleBaseクラスの名称をspider_ModuleBaseクラスに変更しました。