Hello

Regarding the TODO comment:

    class LoggerHierarchy {
        ...
        /* 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;
        }

In log4j they use:

 static private RepositorySelector repositorySelector;

 public static LoggerRepository getLoggerRepository() {
    if (repositorySelector == null) {
        repositorySelector = new DefaultRepositorySelector(new 
NOPLoggerRepository());
        ...
    }
    return repositorySelector.getLoggerRepository();
  }

which looks to me like a Singleton. The repositorySelector is only a container 
for
the Hierarchy object which is quite the same as our LoggerHierarchy.

bye,

-christian-

Reply via email to