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 ih...@apache.org on 2011/05/20 13:44:34 UTC
svn commit: r1125335 - in /logging/log4php/trunk/src: changes/changes.xml
main/php/renderers/LoggerRendererMap.php
test/php/renderers/LoggerRendererMapTest.php
Author: ihabunek
Date: Fri May 20 11:44:34 2011
New Revision: 1125335
URL: http://svn.apache.org/viewvc?rev=1125335&view=rev
Log:
LOG4PHP-122: RendererMap::getByClassName doesn't recognize instances of child classes
Modified:
logging/log4php/trunk/src/changes/changes.xml
logging/log4php/trunk/src/main/php/renderers/LoggerRendererMap.php
logging/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php
Modified: logging/log4php/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/changes/changes.xml?rev=1125335&r1=1125334&r2=1125335&view=diff
==============================================================================
--- logging/log4php/trunk/src/changes/changes.xml (original)
+++ logging/log4php/trunk/src/changes/changes.xml Fri May 20 11:44:34 2011
@@ -24,6 +24,7 @@
</properties>
<body>
<release version="2.1" description="Stabilizing">
+ <action type="fix" issue="LOG4PHP-122" by="Moritz Schmidt">RendererMap::getByClassName doesnt recognize instances of child classes</action>
<action type="fix" issue="LOG4PHP-123" by="Moritz Schmidt, Ivan Habunek">LoggerConfiguratorPhp does not parse renderer configuration</action>
<action type="fix" issue="LOG4PHP-110" by="Vladimir Gorej, Ivan Habunek">Adapted MongoDB appender to better fit in log4php codebase.</action>
<action type="fix" issue="LOG4PHP-126" by="Peter Chapman, Christian Grobmeier">LoggerConfiguratorPhp does not appear to respect appender file property from config</action>
Modified: logging/log4php/trunk/src/main/php/renderers/LoggerRendererMap.php
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/main/php/renderers/LoggerRendererMap.php?rev=1125335&r1=1125334&r2=1125335&view=diff
==============================================================================
--- logging/log4php/trunk/src/main/php/renderers/LoggerRendererMap.php (original)
+++ logging/log4php/trunk/src/main/php/renderers/LoggerRendererMap.php Fri May 20 11:44:34 2011
@@ -126,7 +126,8 @@ class LoggerRendererMap {
*/
public function getByClassName($class) {
$r = null;
- for($c = strtolower($class); !empty($c); $c = get_parent_class($c)) {
+ for($c = $class; !empty($c); $c = get_parent_class($c)) {
+ $c = strtolower($c);
if(isset($this->map[$c])) {
return $this->map[$c];
}
Modified: logging/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php?rev=1125335&r1=1125334&r2=1125335&view=diff
==============================================================================
--- logging/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php (original)
+++ logging/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php Fri May 20 11:44:34 2011
@@ -22,12 +22,16 @@
* @version SVN: $Id$
* @link http://logging.apache.org/log4php
*/
+
class Fruit3 {
public $test1 = 'test1';
public $test2 = 'test2';
public $test3 = 'test3';
}
+class Fruit3Descendant extends Fruit3 {
+}
+
class FruitRenderer3 implements LoggerRendererObject {
public function render($o) {
return $o->test1.','.$o->test2.','.$o->test3;
@@ -47,6 +51,17 @@ class LoggerRendererMapTest extends PHPU
self::assertEquals('test1,test2,test3', $e);
}
+ public function testFindAndRenderDescendants() {
+ $fruit = new Fruit3Descendant();
+ Logger::configure(dirname(__FILE__).'/test4.properties');
+ Logger::initialize();
+ $hierarchy = Logger::getHierarchy();
+
+ $map = $hierarchy->getRendererMap();
+ $e = $map->findAndRender($fruit);
+ self::assertEquals('test1,test2,test3', $e);
+ }
+
public function testGetByObject() {
$fruit = new Fruit3();
Logger::configure(dirname(__FILE__).'/test4.properties');