You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4php-dev@logging.apache.org by gr...@apache.org on 2009/08/17 08:14:43 UTC
svn commit: r804867 - in /incubator/log4php/trunk/src: main/php/
main/php/configurators/ test/php/ test/php/configurators/
Author: grobmeier
Date: Mon Aug 17 06:14:42 2009
New Revision: 804867
URL: http://svn.apache.org/viewvc?rev=804867&view=rev
Log:
Refined initialization procedure. LoggerHierarchy is now injected into Configurator classes.
Modified:
incubator/log4php/trunk/src/main/php/Logger.php
incubator/log4php/trunk/src/main/php/LoggerConfigurator.php
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorBasic.php
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorIni.php
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorPhp.php
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php
incubator/log4php/trunk/src/test/php/LoggerTest.php
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorBasicTest.php
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorPhpTest.php
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.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=804867&r1=804866&r2=804867&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/Logger.php (original)
+++ incubator/log4php/trunk/src/main/php/Logger.php Mon Aug 17 06:14:42 2009
@@ -161,6 +161,14 @@
private static $hierarchy;
+ /**
+ * Returns the hierarchy used by this Logger.
+ * Caution: do not use this hierarchy unless you have called initialize().
+ * To get Loggers, use the Logger::getLogger and Logger::getRootLogger methods
+ * instead of operating on on the hierarchy directly.
+ *
+ * @deprecated - will be moved to private
+ */
public static function getHierarchy() {
if(!isset(self::$hierarchy)) {
self::$hierarchy = new LoggerHierarchy(new LoggerRoot());
@@ -356,7 +364,11 @@
* @return boolean
*/
public static function resetConfiguration() {
- return self::getHierarchy()->resetConfiguration();
+ $result = self::getHierarchy()->resetConfiguration();
+ self::$initialized = false;
+ self::$configurationClass = 'LoggerConfiguratorBasic';
+ self::$configurationFile = null;
+ return $result;
}
/**
@@ -389,6 +401,9 @@
* @static
*/
public static function getRootLogger() {
+ if(!self::isInitialized()) {
+ self::initialize();
+ }
return self::getHierarchy()->getRootLogger();
}
@@ -594,13 +609,12 @@
/**
* Initializes the log4php framework.
- * TODO: clean up
* @return boolean
*/
public static function initialize() {
- $configuratorClass = basename(self::$configurationClass);
- $result = call_user_func(array($configuratorClass, 'configure'), self::$configurationFile);
self::$initialized = true;
+ $instance = LoggerReflectionUtils::createObject(self::$configurationClass);
+ $result = $instance->configure(self::getHierarchy(), self::$configurationFile);
return $result;
}
}
Modified: incubator/log4php/trunk/src/main/php/LoggerConfigurator.php
URL: http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/LoggerConfigurator.php?rev=804867&r1=804866&r2=804867&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/LoggerConfigurator.php (original)
+++ incubator/log4php/trunk/src/main/php/LoggerConfigurator.php Mon Aug 17 06:14:42 2009
@@ -47,6 +47,6 @@
*
* @param string $url The URL to parse
*/
- public static function configure($url = null);
+ public function configure(LoggerHierarchy $hierarchy, $url = null);
}
Modified: incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorBasic.php
URL: http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorBasic.php?rev=804867&r1=804866&r2=804867&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorBasic.php (original)
+++ incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorBasic.php Mon Aug 17 06:14:42 2009
@@ -35,8 +35,8 @@
*
* @param string $url not used here
*/
- public static function configure($url = null) {
- $root = Logger::getRootLogger();
+ public function configure(LoggerHierarchy $hierarchy, $url = null) {
+ $root = $hierarchy->getRootLogger();
$appender = new LoggerAppenderConsole('A1');
$appender->setLayout( new LoggerLayoutTTCC() );
$appender->activateOptions();
Modified: incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorIni.php
URL: http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorIni.php?rev=804867&r1=804866&r2=804867&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorIni.php (original)
+++ incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorIni.php Mon Aug 17 06:14:42 2009
@@ -99,10 +99,8 @@
* @return boolean configuration result
* @static
*/
- public static function configure($url = '') {
- $configurator = new LoggerConfiguratorIni();
- $repository = Logger::getLoggerRepository();
- return $configurator->doConfigure($url, $repository);
+ public function configure(LoggerHierarchy $hierarchy, $url = '') {
+ return $this->doConfigure($url, $hierarchy);
}
/**
Modified: incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorPhp.php
URL: http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorPhp.php?rev=804867&r1=804866&r2=804867&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorPhp.php (original)
+++ incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorPhp.php Mon Aug 17 06:14:42 2009
@@ -56,10 +56,8 @@
*/
class LoggerConfiguratorPhp implements LoggerConfigurator {
- public static function configure($url = '') {
- $configurator = new self();
- $hierarchy = Logger::getLoggerRepository();
- return $configurator->doConfigure($url, $hierarchy);
+ public function configure(LoggerHierarchy $hierarchy, $url = '') {
+ return $this->doConfigure($url, $hierarchy);
}
private function doConfigure($url, LoggerHierarchy $hierarchy) {
Modified: incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php
URL: http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php?rev=804867&r1=804866&r2=804867&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php (original)
+++ incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php Mon Aug 17 06:14:42 2009
@@ -119,10 +119,8 @@
* @param string $url
* @static
*/
- public static function configure($url = '') {
- $configurator = new self();
- $repository = Logger::getLoggerRepository();
- return $configurator->doConfigure($url, $repository);
+ public function configure(LoggerHierarchy $hierarchy, $url = '') {
+ return $this->doConfigure($url, $hierarchy);
}
/**
Modified: incubator/log4php/trunk/src/test/php/LoggerTest.php
URL: http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/LoggerTest.php?rev=804867&r1=804866&r2=804867&view=diff
==============================================================================
--- incubator/log4php/trunk/src/test/php/LoggerTest.php (original)
+++ incubator/log4php/trunk/src/test/php/LoggerTest.php Mon Aug 17 06:14:42 2009
@@ -52,7 +52,7 @@
}
public function testCanLogToAllLevels() {
- LoggerConfiguratorIni::configure('LoggerTest.properties');
+ Logger::configure('LoggerTest.properties');
$logger = Logger::getLogger('mylogger');
ob_start();
@@ -75,7 +75,7 @@
}
public function testIsEnabledFor() {
- LoggerConfiguratorIni::configure('LoggerTest.properties');
+ Logger::configure('LoggerTest.properties');
$logger = Logger::getLogger('mylogger');
@@ -94,13 +94,15 @@
self::assertEquals(0, count(Logger::getCurrentLoggers()));
- LoggerConfiguratorIni::configure('LoggerTest.properties');
+ Logger::configure('LoggerTest.properties');
+ Logger::initialize();
self::assertEquals(1, count(Logger::getCurrentLoggers()));
$list = Logger::getCurrentLoggers();
self::assertEquals('mylogger', $list[0]->getName());
}
public function testConfigure() {
+ Logger::resetConfiguration();
Logger::configure();
self::assertEquals('LoggerConfiguratorBasic', Logger::getConfigurationClass());
self::assertEquals(null, Logger::getConfigurationFile());
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=804867&r1=804866&r2=804867&view=diff
==============================================================================
--- incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorBasicTest.php (original)
+++ incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorBasicTest.php Mon Aug 17 06:14:42 2009
@@ -26,7 +26,6 @@
class LoggerConfiguratorBasicTest extends PHPUnit_Framework_TestCase {
protected function setUp() {
- LoggerConfiguratorBasic::configure();
}
protected function tearDown() {
@@ -65,14 +64,12 @@
// from previous runs. ResetConfiguration() only clears the appenders, it does
// not remove the categories!
Logger::resetConfiguration();
- $hierarchy = Logger::getHierarchy();
- foreach ($hierarchy->getCurrentLoggers() as $logger) {
+ foreach (Logger::getCurrentLoggers() as $logger) {
self::assertEquals(0, count($logger->getAllAppenders()));
}
// This on the other hand really removes the categories:
- $hierarchy->clear();
- self::assertEquals(0, count($hierarchy->getCurrentLoggers()));
- self::assertEquals(0, count($hierarchy->getCurrentLoggers()));
+ Logger::clear();
+ self::assertEquals(0, count(Logger::getCurrentLoggers()));
}
}
Modified: incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php
URL: http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php?rev=804867&r1=804866&r2=804867&view=diff
==============================================================================
--- incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php (original)
+++ incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php Mon Aug 17 06:14:42 2009
@@ -34,29 +34,27 @@
}
public function testConfigure() {
- LoggerConfiguratorIni::configure('configurators/test1.properties');
- $hierarchy = Logger::getLoggerRepository();
- $root = $hierarchy->getRootLogger();
+ Logger::configure('configurators/test1.properties');
+ $root = Logger::getRootLogger();
self::assertEquals(LoggerLevel::getLevelWarn(), $root->getLevel());
$appender = $root->getAppender("default");
self::assertTrue($appender instanceof LoggerAppenderEcho);
$layout = $appender->getLayout();
self::assertTrue($layout instanceof LoggerLayoutSimple);
- $logger = $hierarchy->getLogger('mylogger');
+ $logger = Logger::getLogger('mylogger');
self::assertEquals(LoggerLevel::getLevelInfo(), $logger->getLevel());
self::assertFalse($logger->getAdditivity());
- $logger2 = $hierarchy->getLogger('mylogger');
+ $logger2 = Logger::getLogger('mylogger');
$logger2->setAdditivity(true);
self::assertTrue($logger2->getAdditivity());
self::assertTrue($logger->getAdditivity());
}
public function testConfigureWithRootCategory() {
- LoggerConfiguratorIni::configure('configurators/test3.properties');
- $hierarchy = Logger::getLoggerRepository();
- $root = $hierarchy->getRootLogger();
+ Logger::configure('configurators/test3.properties');
+ $root = Logger::getRootLogger();
self::assertEquals(LoggerLevel::getLevelWarn(), $root->getLevel());
$appender = $root->getAppender("default");
self::assertTrue($appender instanceof LoggerAppenderEcho);
@@ -67,7 +65,8 @@
public function testConfigureWithoutIniFile() {
$catchedException = null;
try {
- LoggerConfiguratorIni::configure();
+ Logger::configure(null,'LoggerConfiguratorIni');
+ Logger::initialize();
self::assertTrue(false);
} catch (LoggerException $e) {
$catchedException = $e;
@@ -78,7 +77,8 @@
public function testConfigureWithEmptyIniFile() {
$catchedException = null;
try {
- LoggerConfiguratorIni::configure('configurators/test2.properties');
+ Logger::configure('configurators/test2.properties');
+ Logger::initialize();
self::assertTrue(false);
} catch (LoggerException $e) {
$catchedException = $e;
Modified: incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorPhpTest.php
URL: http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorPhpTest.php?rev=804867&r1=804866&r2=804867&view=diff
==============================================================================
--- incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorPhpTest.php (original)
+++ incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorPhpTest.php Mon Aug 17 06:14:42 2009
@@ -34,15 +34,14 @@
}
public function testConfigure() {
- LoggerConfiguratorPhp::configure('configurators/test1.php');
- $hierarchy = Logger::getLoggerRepository();
- $root = $hierarchy->getRootLogger();
+ Logger::configure('configurators/test1.php','LoggerConfiguratorPhp');
+ $root = Logger::getRootLogger();
self::assertEquals(LoggerLevel::getLevelWarn(), $root->getLevel());
$appender = $root->getAppender("default");
self::assertTrue($appender instanceof LoggerAppenderEcho);
$layout = $appender->getLayout();
self::assertTrue($layout instanceof LoggerLayoutSimple);
- $logger = $hierarchy->getLogger('mylogger');
+ $logger = Logger::getLogger('mylogger');
self::assertEquals(LoggerLevel::getLevelInfo(), $logger->getLevel());
}
}
Modified: incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php
URL: http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php?rev=804867&r1=804866&r2=804867&view=diff
==============================================================================
--- incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php (original)
+++ incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php Mon Aug 17 06:14:42 2009
@@ -34,16 +34,15 @@
}
public function testConfigure() {
- LoggerConfiguratorXml::configure('configurators/test1.xml');
- $hierarchy = Logger::getLoggerRepository();
- $root = $hierarchy->getRootLogger();
+ Logger::configure('configurators/test1.xml');
+ $root = Logger::getRootLogger();
self::assertEquals(LoggerLevel::getLevelWarn(), $root->getLevel());
$appender = $root->getAppender("default");
self::assertTrue($appender instanceof LoggerAppenderEcho);
$layout = $appender->getLayout();
self::assertTrue($layout instanceof LoggerLayoutSimple);
- $logger = $hierarchy->getLogger('mylogger');
+ $logger = Logger::getLogger('mylogger');
self::assertEquals(LoggerLevel::getLevelInfo(), $logger->getLevel());
}
}