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-