Changeset 18805
- Timestamp:
- 2010/09/16 19:12:12 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/util/GC_Utils.php
r18701 r18805 160 160 /** 161 161 * ログローテーション機能 162 * 162 163 * XXX この類のローテーションは通常 0 開始だが、本実装は 1 開始である。 164 * この中でログ出力は行なわないこと。(無限ループの懸念あり) 163 165 * @param integer $max_log 最大ファイル数 164 166 * @param integer $max_size 最大サイズ … … 170 172 // ファイルが最大サイズを超えていない場合、終了 171 173 if (filesize($path) <= $max_size) return; 172 173 // アーカイブのインクリメント(削除を兼ねる) 174 175 // Windows 版 PHP への対策として明示的に事前削除 176 $path_max = "$path.$max_log"; 177 if (file_exists($path_max)) { 178 $res = unlink($path_max); 179 // 削除に失敗時した場合、ログローテーションは見送り 180 if (!$res) return; 181 } 182 183 // アーカイブのインクリメント 174 184 for ($i = $max_log; $i >= 2; $i--) { 175 185 $path_old = "$path." . ($i - 1); … … 179 189 } 180 190 } 181 191 182 192 // 現在ファイルのアーカイブ 183 193 rename($path, "$path.1");
Note: See TracChangeset
for help on using the changeset viewer.