Author: grobmeier
Date: Fri Aug 21 19:15:49 2009
New Revision: 806678

URL: http://svn.apache.org/viewvc?rev=806678&view=rev
Log:
LOG4PHP-57 Make use of destructors

Modified:
    incubator/log4php/trunk/src/changes/changes.xml
    incubator/log4php/trunk/src/main/php/Logger.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderConsole.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderDailyFile.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderEcho.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderMail.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderMailEvent.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderNull.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderPDO.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderPhp.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderRollingFile.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderSocket.php
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderSyslog.php

Modified: incubator/log4php/trunk/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/changes/changes.xml?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/changes/changes.xml (original)
+++ incubator/log4php/trunk/src/changes/changes.xml Fri Aug 21 19:15:49 2009
@@ -61,7 +61,8 @@
                <action type="update" issue="LOG4PHP-53">Removed references 
were appropriate (Christian Grobmeier)</action>
                <action type="fix" issue="LOG4PHP-54">PHPDoc is wrong due to 
class movements - clean up (Christian Grobmeier)</action>
                <action type="update" issue="LOG4PHP-56">Replace 
define('LOG4PHP_CONFIGURATION' by static variable (Christian Grobmeier)</action>
-               <action type="fix" issue="LOG4PHP-59">LoggerAppenderConsole is 
initialized wrong (Christian Grobmeier, Christian Hammers)</action>
+               <action type="update" issue="LOG4PHP-57">Make use of 
destructors instead of Logger::shutdown (Christian Grobmeier)</action>
+        <action type="fix" issue="LOG4PHP-59">LoggerAppenderConsole is 
initialized wrong (Christian Grobmeier, Christian Hammers)</action>
                <action type="update" issue="LOG4PHP-60">Improved 
quickstart.apt (Christian Hammers)</action>
                <action type="update" issue="LOG4PHP-62">Does not print warning 
if ini file is corrupt (Christian Hammers)</action>
                <action type="update" issue="LOG4PHP-63">PDOAppender should 
throw LoggerException on database problems (Christian Hammers)</action>

Modified: incubator/log4php/trunk/src/main/php/Logger.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/Logger.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/Logger.php (original)
+++ incubator/log4php/trunk/src/main/php/Logger.php Fri Aug 21 19:15:49 2009
@@ -494,6 +494,9 @@
 
        /**
         * Safely close all appenders.
+        * This is not longer necessary due the appenders shutdown via
+        * destructors. 
+        * @deprecated
         * @static
         */
        public static function shutdown() {

Modified: 
incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderConsole.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderConsole.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderConsole.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderConsole.php 
Fri Aug 21 19:15:49 2009
@@ -53,6 +53,10 @@
         */
        protected $fp = null;
 
+       public function __destruct() {
+       $this->close();
+       }
+       
        /**
         * Set console target.
         * @param mixed $value a constant or a string
@@ -78,11 +82,13 @@
         * @see LoggerAppender::close()
         */
        public function close() {
-               if (is_resource($this->fp) && $this->layout !== null) {
-                       fwrite($this->fp, $this->layout->getFooter());
-                       fclose($this->fp);
-               }                
-               $this->closed = true;
+               if($this->closed != true) {
+                       if (is_resource($this->fp) && $this->layout !== null) {
+                               fwrite($this->fp, $this->layout->getFooter());
+                               fclose($this->fp);
+                       }
+                       $this->closed = true;
+               }                        
        }
 
        public function append($event) {

Modified: 
incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderDailyFile.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderDailyFile.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderDailyFile.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderDailyFile.php 
Fri Aug 21 19:15:49 2009
@@ -39,6 +39,10 @@
         */
        public $datePattern = "Ymd";
        
+       public function __destruct() {
+       parent::__destruct();
+       }
+       
        /**
        * Sets date format for the file name.
        * @param string $format a regular date() string format

Modified: incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderEcho.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderEcho.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderEcho.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderEcho.php Fri 
Aug 21 19:15:49 2009
@@ -39,13 +39,19 @@
            $this->firstAppend = true;
        }
        
+       public function __destruct() {
+       $this->close();
+       }
+       
        public function activateOptions() {
                $this->closed = false;
        }
        
        public function close() {
-               if(!$this->firstAppend) {
-                       echo $this->layout->getFooter();
+               if($this->closed != true) {
+                       if(!$this->firstAppend) {
+                               echo $this->layout->getFooter();
+                       }
                }
                $this->closed = true;    
        }

Modified: incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php Fri 
Aug 21 19:15:49 2009
@@ -50,6 +50,10 @@
                $this->requiresLayout = true;
        }
 
+       public function __destruct() {
+       $this->close();
+       }
+       
        public function activateOptions() {
                $fileName = $this->getFile();
 
@@ -79,14 +83,16 @@
        }
        
        public function close() {
-               if($this->fp and $this->layout !== null) {
-                       if(flock($this->fp, LOCK_EX)) {
-                               fwrite($this->fp, $this->layout->getFooter());
-                               flock($this->fp, LOCK_UN);
+               if($this->closed != true) {
+                       if($this->fp and $this->layout !== null) {
+                               if(flock($this->fp, LOCK_EX)) {
+                                       fwrite($this->fp, 
$this->layout->getFooter());
+                                       flock($this->fp, LOCK_UN);
+                               }
+                               fclose($this->fp);
                        }
-                       fclose($this->fp);
+                       $this->closed = true;
                }
-               $this->closed = true;
        }
 
        public function append($event) {
@@ -146,5 +152,7 @@
         */
        public function getFileName() {
                return $this->fileName;
-       } 
+       }
+       
+        
 }

Modified: incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderMail.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderMail.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderMail.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderMail.php Fri 
Aug 21 19:15:49 2009
@@ -60,26 +60,32 @@
         */
        public function __construct($name = '') {
                parent::__construct($name);
-                               $this->requiresLayout = true;
+               $this->requiresLayout = true;
        }
 
+       public function __destruct() {
+       $this->close();
+       }
+
        public function activateOptions() {
                $this->closed = false;
        }
        
        public function close() {
-               $from = $this->from;
-               $to = $this->to;
-
-               if(!empty($this->body) and $from !== null and $to !== null and 
$this->layout !== null) {
-                                               $subject = $this->subject;
-                       mail(
-                               $to, $subject, 
-                               $this->layout->getHeader() . $this->body . 
$this->layout->getFooter(),
-                               "From: {$from}\r\n"
-                       );
+               if($this->closed != true) {
+                       $from = $this->from;
+                       $to = $this->to;
+       
+                       if(!empty($this->body) and $from !== null and $to !== 
null and $this->layout !== null) {
+                                                       $subject = 
$this->subject;
+                               mail(
+                                       $to, $subject, 
+                                       $this->layout->getHeader() . 
$this->body . $this->layout->getFooter(),
+                                       "From: {$from}\r\n"
+                               );
+                       }
+                       $this->closed = true;
                }
-               $this->closed = true;
        }
        
        public function setSubject($subject) {

Modified: 
incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderMailEvent.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderMailEvent.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderMailEvent.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderMailEvent.php 
Fri Aug 21 19:15:49 2009
@@ -76,6 +76,10 @@
                parent::__construct($name);
        }
 
+       public function __destruct() {
+       $this->close();
+       }
+       
        public function activateOptions() {
                $this->closed = false;
        }

Modified: incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderNull.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderNull.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderNull.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderNull.php Fri 
Aug 21 19:15:49 2009
@@ -31,6 +31,10 @@
 
        protected $requiresLayout = false;
        
+       public function __destruct() {
+       $this->close();
+       }
+       
        public function activateOptions() {
                $this->closed = false;
        }

Modified: incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderPDO.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderPDO.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderPDO.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderPDO.php Fri 
Aug 21 19:15:49 2009
@@ -61,7 +61,11 @@
         parent::__construct($name);
         $this->requiresLayout = false;
     }
-
+    
+       public function __destruct() {
+       $this->close();
+       }
+       
     /**
      * Setup db connection.
      * Based on defined options, this method connects to db defined in 
{...@link $dsn}
@@ -141,10 +145,12 @@
      * Closes the connection to the logging database
      */
     public function close() {
-        if ($this->db !== null) {
-            $db = null;
-        }
-        $this->closed = true;
+       if($this->closed != true) {
+               if ($this->db !== null) {
+               $db = null;
+               }
+               $this->closed = true;
+       }
     }
     
     /**

Modified: incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderPhp.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderPhp.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderPhp.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderPhp.php Fri 
Aug 21 19:15:49 2009
@@ -36,6 +36,10 @@
                $this->requiresLayout = true;
        }
        
+       public function __destruct() {
+       $this->close();
+       }
+       
        public function activateOptions() {
                $this->closed = false;
        }

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=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- 
incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderRollingFile.php 
(original)
+++ 
incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderRollingFile.php 
Fri Aug 21 19:15:49 2009
@@ -69,6 +69,10 @@
         */
        private $expandedFileName = null;
 
+       public function __destruct() {
+       parent::__destruct();
+       }
+       
        /**
         * Returns the value of the MaxBackupIndex option.
         * @return integer 

Modified: 
incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderSocket.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderSocket.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderSocket.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderSocket.php Fri 
Aug 21 19:15:49 2009
@@ -74,6 +74,10 @@
         */
        private $xmlLayout = null;
        
+       public function __destruct() {
+       $this->close();
+       }
+       
        /**
         * Create a socket connection using defined parameters
         */
@@ -99,8 +103,10 @@
        }
        
        public function close() {
-               fclose($this->sp);
-               $this->closed = true;
+               if($this->closed != true) {
+                       fclose($this->sp);
+                       $this->closed = true;
+               }
        }
 
        /**

Modified: 
incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderSyslog.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderSyslog.php?rev=806678&r1=806677&r2=806678&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderSyslog.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderSyslog.php Fri 
Aug 21 19:15:49 2009
@@ -78,6 +78,10 @@
                $this->requiresLayout = true;
        }
 
+       public function __destruct() {
+       $this->close();
+       }
+       
        /**
         * Set the ident of the syslog message.
         *
@@ -133,12 +137,13 @@
        }
 
        public function close() {
-               closelog();
-               $this->closed = true;
+               if($this->closed != true) {
+                       closelog();
+                       $this->closed = true;
+               }
        }
 
        public function append($event) {
-
                if($this->_option == NULL){
                        $this->_option = LOG_PID | LOG_CONS;
                }


Reply via email to