Author: Raymond Bosman
Date: 2006-01-20 13:31:09 +0100 (Fri, 20 Jan 2006)
New Revision: 1989

Log:
- Bugfix #7706: ezclogWriterFile truncates log files every request.
# Test included.

Modified:
   packages/EventLog/trunk/src/writers/writer_file.php
   packages/EventLog/trunk/tests/writers/writer_file_test.php

Modified: packages/EventLog/trunk/src/writers/writer_file.php
===================================================================
--- packages/EventLog/trunk/src/writers/writer_file.php 2006-01-20 12:10:38 UTC 
(rev 1988)
+++ packages/EventLog/trunk/src/writers/writer_file.php 2006-01-20 12:31:09 UTC 
(rev 1989)
@@ -199,7 +199,7 @@
             $this->rotateLog( $fileName );
         }
 
-        $fh = @fopen( $this->logDirectory ."/".  $fileName, "w" );
+        $fh = @fopen( $this->logDirectory ."/".  $fileName, "a" );
         if ( $fh === false )
         {
             $path = $this->logDirectory ."/". $fileName;

Modified: packages/EventLog/trunk/tests/writers/writer_file_test.php
===================================================================
--- packages/EventLog/trunk/tests/writers/writer_file_test.php  2006-01-20 
12:10:38 UTC (rev 1988)
+++ packages/EventLog/trunk/tests/writers/writer_file_test.php  2006-01-20 
12:31:09 UTC (rev 1989)
@@ -170,7 +170,24 @@
         $this->assertEquals( "", file_get_contents($this->getTempDir() 
."/default.log") ); 
     }
 
+    public function testReopenWriter()
+    {
+        $this->createTempDir( "ezcLogTest_" );
+        $this->logFile = "default.log";
+        
+        $this->writer = new TempImplementation($this->getTempDir(), 
$this->logFile);
+        $this->writer->writeLogMessage("msg1", "a", "b", "" );
 
+        // Reopen the writer. 
+        $this->writer = new TempImplementation($this->getTempDir(), 
$this->logFile);
+        $this->writer->writeLogMessage( "msg2", "c", "d", "");
+
+        $m = print_r( array( "message" => "msg1", "type" => "a", "source" => 
"b", "category" => "" ), true );
+        $m .= print_r( array( "message" => "msg2", "type" => "c", "source" => 
"d", "category" => "" ), true );
+        $this->assertEquals( $m, file_get_contents( $this->getTempDir() ."/". 
$this->logFile ) );
+    }
+    
+
     public static function suite()
     {
          return new ezcTestSuite("ezcLogWriterFileTest");

-- 
svn-components mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/svn-components

Reply via email to