You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4php-dev@logging.apache.org by gr...@apache.org on 2009/08/26 09:16:23 UTC

svn commit: r807898 - in /incubator/log4php/trunk/src: main/php/appenders/LoggerAppenderRollingFile.php test/php/appenders/LoggerAppenderRollingFileTest.php

Author: grobmeier
Date: Wed Aug 26 07:16:22 2009
New Revision: 807898

URL: http://svn.apache.org/viewvc?rev=807898&view=rev
Log:
added rolling file test

Added:
    incubator/log4php/trunk/src/test/php/appenders/LoggerAppenderRollingFileTest.php
Modified:
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderRollingFile.php

Modified: incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderRollingFile.php
URL: http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderRollingFile.php?rev=807898&r1=807897&r2=807898&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderRollingFile.php (original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderRollingFile.php Wed Aug 26 07:16:22 2009
@@ -123,16 +123,15 @@
 				}
 			}
 	
+			$this->close();
+	
 			// Rename fileName to fileName.1
 			$target = $fileName . ".1";
-	
-			$this->closeFile(); // keep windows happy.
-	
 			$file = $fileName;
 			rename($file, $target);
 		}
 		
-		unset($this->fp);
+		//unset($this->fp);
 		$this->activateOptions();
 		$this->setFile($fileName, false);
 	}

Added: incubator/log4php/trunk/src/test/php/appenders/LoggerAppenderRollingFileTest.php
URL: http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/appenders/LoggerAppenderRollingFileTest.php?rev=807898&view=auto
==============================================================================
--- incubator/log4php/trunk/src/test/php/appenders/LoggerAppenderRollingFileTest.php (added)
+++ incubator/log4php/trunk/src/test/php/appenders/LoggerAppenderRollingFileTest.php Wed Aug 26 07:16:22 2009
@@ -0,0 +1,94 @@
+<?php
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ * @category   tests   
+ * @package    log4php
+ * @subpackage appenders
+ * @license    http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ * @version    SVN: $Id$
+ * @link       http://logging.apache.org/log4php
+ */
+
+class LoggerAppenderRollingFileTest extends PHPUnit_Framework_TestCase {
+     
+    protected function setUp() {
+        if(file_exists('../../../target/temp/phpunit/TEST-rolling.txt')) {
+        	unlink('../../../target/temp/phpunit/TEST-rolling.txt');
+      	}
+      	
+      	if(file_exists('../../../target/temp/phpunit/TEST-rolling.txt.1')) {
+        	unlink('../../../target/temp/phpunit/TEST-rolling.txt.1');
+      	}
+    }
+    
+    public function testSimpleLogging() {
+    	$layout = new LoggerLayoutSimple();
+    	
+    	$appender = new LoggerAppenderRollingFile("mylogger"); 
+		$appender->setFileName('../../../target/temp/phpunit/TEST-rolling.txt');
+		$appender->setLayout($layout);
+		$appender->setMaximumFileSize('1KB');
+		$appender->activateOptions();
+		
+    	$event = new LoggerLoggingEvent('LoggerAppenderFileTest', 
+    									new Logger('mycategory'), 
+    									LoggerLevel::getLevelWarn(),
+    									"my message123");
+    	$i = 0;
+    	$b = true;
+    	while($b) {
+    	    if($i == 1000) {
+    	        $b = false;
+    	    }
+	    	$appender->append($event);
+	    	$i++;
+    	}
+		
+    	$event = new LoggerLoggingEvent('LoggerAppenderFileTest', 
+    									new Logger('mycategory'), 
+    									LoggerLevel::getLevelWarn(),
+    									"my messageXYZ");
+    	
+    	$appender->append($event);
+		
+		$appender->close();
+		
+		$file = '../../../target/temp/phpunit/TEST-rolling.txt';
+		$data = file($file);
+		$line = $data[count($data)-1];
+		$e = "WARN - my messageXYZ".PHP_EOL;
+		self::assertEquals($e, $line);
+		
+		$file = '../../../target/temp/phpunit/TEST-rolling.txt.1';
+		$data = file($file);
+		$line = $data[count($data)-1];
+		$e = "WARN - my message123".PHP_EOL;
+		foreach($data as $r) {
+			self::assertEquals($e, $r);
+		}
+    }
+     
+    protected function tearDown() {
+//      	if(file_exists('../../../target/temp/phpunit/TEST-rolling.txt')) {
+//        	unlink('../../../target/temp/phpunit/TEST-rolling.txt');
+//      	}
+//      	if(file_exists('../../../target/temp/phpunit/TEST-rolling.txt.1')) {
+//        	unlink('../../../target/temp/phpunit/TEST-rolling.txt.1');
+//      	}
+//        rmdir('../../../target/temp/phpunit');
+    }
+}