Author: grobmeier
Date: Sun Aug 16 11:40:06 2009
New Revision: 804669

URL: http://svn.apache.org/viewvc?rev=804669&view=rev
Log:
LoggerHierarchy is not a singleton by default anymore, Logger cares about the 
instance itself

Modified:
    incubator/log4php/trunk/src/main/php/Logger.php
    incubator/log4php/trunk/src/main/php/LoggerHierarchy.php
    incubator/log4php/trunk/src/test/php/LoggerLoggingEventTest.php
    
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorBasicTest.php
    incubator/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php

Modified: incubator/log4php/trunk/src/main/php/Logger.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/Logger.php?rev=804669&r1=804668&r2=804669&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/Logger.php (original)
+++ incubator/log4php/trunk/src/main/php/Logger.php Sun Aug 16 11:40:06 2009
@@ -159,6 +159,14 @@
                $this->name = $name;
        }
        
+       private static $hierarchy;
+       
+       public static function getHierarchy() {
+               if(!isset(self::$hierarchy)) {
+                       self::$hierarchy = new LoggerHierarchy(new 
LoggerRoot());
+               }
+               return self::$hierarchy;
+       }
        /**
         * Add a new Appender to the list of appenders of this Category 
instance.
         *
@@ -325,7 +333,7 @@
         * @static 
         */
        public static function getLogger($name) {
-               return LoggerHierarchy::singleton()->getLogger($name);
+               return self::getHierarchy()->getLogger($name);
        }
        
        /**
@@ -335,7 +343,7 @@
         * @return boolean 
         */
        public static function clear() {
-               return LoggerHierarchy::singleton()->clear();    
+               return self::getHierarchy()->clear();    
        }
        
        /**
@@ -345,7 +353,7 @@
         * @return boolean 
         */
        public static function resetConfiguration() {
-               return LoggerHierarchy::singleton()->resetConfiguration();      
 
+               return self::getHierarchy()->resetConfiguration();       
        }
 
        /**
@@ -353,7 +361,7 @@
         * @static
         */
        public static function shutdown() {
-               return LoggerHierarchy::singleton()->shutdown();           
+               return self::getHierarchy()->shutdown();           
        }
        
        /**
@@ -378,7 +386,7 @@
         * @static 
         */        
        public static function getRootLogger() {
-               return LoggerHierarchy::singleton()->getRootLogger();     
+               return self::getHierarchy()->getRootLogger();     
        }
        
        /**
@@ -389,7 +397,7 @@
         * @return boolean
         */
        public static function exists($name) {
-               return LoggerHierarchy::singleton()->exists($name);
+               return self::getHierarchy()->exists($name);
        }
        
        /**
@@ -397,9 +405,10 @@
         * 
         * @static
         * @return LoggerHierarchy
+        * @deprecated
         */
        public static function getLoggerRepository() {
-               return LoggerHierarchy::singleton();    
+               return self::getHierarchy();    
        }
 
        /**
@@ -410,7 +419,7 @@
         * @return array
         */
        public static function getCurrentLoggers() {
-               return LoggerHierarchy::singleton()->getCurrentLoggers();
+               return self::getHierarchy()->getCurrentLoggers();
        }
        /**
         * Is the appender passed as parameter attached to this category?

Modified: incubator/log4php/trunk/src/main/php/LoggerHierarchy.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/LoggerHierarchy.php?rev=804669&r1=804668&r2=804669&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/LoggerHierarchy.php (original)
+++ incubator/log4php/trunk/src/main/php/LoggerHierarchy.php Sun Aug 16 
11:40:06 2009
@@ -68,15 +68,6 @@
        /** LoggerLevel main level threshold */
        protected $threshold;
        
-       /* TODO: In log4j is this class not a singleton. Why is it in log4php? 
*/
-       public static function singleton() {
-               static $instance;
-               if(!isset($instance)) {
-                       $instance = new LoggerHierarchy(new LoggerRoot());
-               }
-               return $instance;
-       }
-       
        /**
         * Create a new logger hierarchy.
         * @param object $root the root logger

Modified: incubator/log4php/trunk/src/test/php/LoggerLoggingEventTest.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/LoggerLoggingEventTest.php?rev=804669&r1=804668&r2=804669&view=diff
==============================================================================
--- incubator/log4php/trunk/src/test/php/LoggerLoggingEventTest.php (original)
+++ incubator/log4php/trunk/src/test/php/LoggerLoggingEventTest.php Sun Aug 16 
11:40:06 2009
@@ -69,7 +69,7 @@
        }
 
        public function testGetLocationInformation() {
-               $hierarchy = LoggerHierarchy :: singleton();
+               $hierarchy = Logger::getHierarchy();
                $root = $hierarchy->getRootLogger();
 
                $a = new LoggerLoggingEventTestCaseAppender('A1');

Modified: 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorBasicTest.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorBasicTest.php?rev=804669&r1=804668&r2=804669&view=diff
==============================================================================
--- 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorBasicTest.php
 (original)
+++ 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorBasicTest.php
 Sun Aug 16 11:40:06 2009
@@ -65,7 +65,7 @@
                // from previous runs. ResetConfiguration() only clears the 
appenders, it does
                // not remove the categories!
                Logger::resetConfiguration();
-               $hierarchy = LoggerHierarchy::singleton();
+               $hierarchy = Logger::getHierarchy();
         foreach ($hierarchy->getCurrentLoggers() as $logger) {
             self::assertEquals(0, count($logger->getAllAppenders()));
         }              

Modified: 
incubator/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php?rev=804669&r1=804668&r2=804669&view=diff
==============================================================================
--- incubator/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php 
(original)
+++ incubator/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php 
Sun Aug 16 11:40:06 2009
@@ -26,7 +26,7 @@
 class LoggerRendererMapTest extends PHPUnit_Framework_TestCase {
 
        public function testAddRenderer() {
-               $hierarchy = LoggerHierarchy::singleton();
+               $hierarchy = Logger::getHierarchy();
                //print_r($hierarchy);
                LoggerRendererMap::addRenderer($hierarchy, 'string', 
'LoggerRendererDefault');
                //print_r($hierarchy);


Reply via email to