[Frameworkspider-svn] spider-commit [31]

Back to archive index

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クラスに変更しました。
 



Frameworkspider-svn メーリングリストの案内
Back to archive index