Author: grobmeier
Date: Fri Jun 18 06:54:04 2010
New Revision: 955855

URL: http://svn.apache.org/viewvc?rev=955855&view=rev
Log:
LOG4PHP-36: applied patch by Moritz Schmidt. Set appender properties, not only 
class and layout

Modified:
    logging/log4php/trunk/src/changes/changes.xml
    logging/log4php/trunk/src/main/php/configurators/LoggerConfiguratorPhp.php

Modified: logging/log4php/trunk/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/logging/log4php/trunk/src/changes/changes.xml?rev=955855&r1=955854&r2=955855&view=diff
==============================================================================
--- logging/log4php/trunk/src/changes/changes.xml (original)
+++ logging/log4php/trunk/src/changes/changes.xml Fri Jun 18 06:54:04 2010
@@ -24,6 +24,7 @@
   </properties>
   <body>
        <release version="2.1" description="Stabilizing">
+               <action type="update" issue="LOG4PHP-36" by="Moritz 
Schmidt">PHP Configurator: set remaining properties to appenders</action>
                <action type="update" issue="LOG4PHP-110" by="Vladimir 
Gorej">MongoDB: improved exception handling</action>
                <action type="fix" issue="LOG4PHP-112" by="darja, Christian 
Grobmeier">Logging ClassName doesn't work</action>
                <action type="update" issue="LOG4PHP-109" by="Vladimir 
Gorej">patch for Throwable information associated with logging event</action>

Modified: 
logging/log4php/trunk/src/main/php/configurators/LoggerConfiguratorPhp.php
URL: 
http://svn.apache.org/viewvc/logging/log4php/trunk/src/main/php/configurators/LoggerConfiguratorPhp.php?rev=955855&r1=955854&r2=955855&view=diff
==============================================================================
--- logging/log4php/trunk/src/main/php/configurators/LoggerConfiguratorPhp.php 
(original)
+++ logging/log4php/trunk/src/main/php/configurators/LoggerConfiguratorPhp.php 
Fri Jun 18 06:54:04 2010
@@ -62,6 +62,9 @@ class LoggerConfiguratorPhp implements L
                                
                                $appender = 
LoggerAppenderPool::getAppenderFromPool($appenderName, 
$appenderProperties['class']);
                                
+                               // unset so that the property wont be drawn up 
again
+                               unset($appenderProperties['class']);
+                               
                                if($appender->requiresLayout()) {
                                        
                                        
if(isset($appenderProperties['layout'])) {
@@ -83,12 +86,19 @@ class LoggerConfiguratorPhp implements L
                                                
                                                $appender->setLayout($layout);
                                                
+                                               // unset so that the property 
wont be drawn up again
+                                               
unset($appenderProperties['layout']);
                                        } else {
                                                // TODO: throw exception?
                                        }
                                        
                                }
-                               
+                               // set remaining properties and activate 
appender
+                               $setter = new LoggerReflectionUtils($appender);
+                               foreach ($appenderProperties as $key => $val) {
+                                       $setter->setProperty($key, $val);
+                               }
+                               $setter->activate();
                        }
                        
                }


Reply via email to