Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

fixes FileLog doesn't delete on rotation if `rotate` = 0

  • Loading branch information...
commit 8060f1b4be38020259ab0a33a44d58184b956ec8 1 parent 83d340a
@Schlaefer Schlaefer authored
View
14 lib/Cake/Log/Engine/FileLog.php
@@ -201,17 +201,21 @@ protected function _rotateFile($filename) {
}
if ($this->_config['rotate'] === 0) {
- return unlink($filepath);
+ $result = unlink($filepath);
+ } else {
+ $result = rename($filepath, $filepath . '.' . time());
}
- if ($this->_config['rotate']) {
- $files = glob($filepath . '.*');
- while (count($files) >= $this->_config['rotate']) {
+ $files = glob($filepath . '.*');
+ if ($files) {
+ $filesToDelete = count($files) - $this->_config['rotate'];
+ while ($filesToDelete > 0) {
unlink(array_shift($files));
+ $filesToDelete--;
}
}
- return rename($filepath, $filepath . '.' . time());
+ return $result;
}
}
View
1  lib/Cake/Test/Case/Log/Engine/FileLogTest.php
@@ -142,6 +142,7 @@ public function testRotation() {
'size' => 35,
'rotate' => 0
));
+ file_put_contents($path . 'debug.log.0000000000', "The oldest log file with over 35 bytes.\n");
$log->write('debug', 'Test debug');
$this->assertTrue(file_exists($path . 'debug.log'));
Please sign in to comment.
Something went wrong with that request. Please try again.