        $args= func_get_args();
 -      array_unshift($args, LogLevel::INFO);
 -      call_user_func_array(array($this, 'callAppenders'), $args);
-+      $this->callAppenders(new LoggingEvent($this, time(), getmypid(), LogLevel::INFO, $args));
-     }
- 
-     /**
-@@ -228,8 +201,9 @@
++      $this->callAppenders(LogLevel::INFO, $args);
+     }
+ 
+     /**
+@@ -228,8 +198,9 @@
       * @param   mixed* args
       */
      public function infof() {
 +      if (!($this->flags & LogLevel::INFO)) return;
        $args= func_get_args();
 -      $this->callAppenders(LogLevel::INFO, vsprintf($args[0], array_slice($args, 1)));
-+      $this->callAppenders(new LoggingEvent($this, time(), getmypid(), LogLevel::INFO, array(vsprintf($args[0], array_slice($args, 1)))));
-     }
- 
-     /**
-@@ -238,9 +212,9 @@
++      $this->callAppenders(LogLevel::INFO, array(vsprintf($args[0], array_slice($args, 1))));
+     }
+ 
+     /**
+@@ -238,9 +209,9 @@
       * @param   mixed* args
       */
      public function warn() {

===================================================================
--- skeleton/util/log/PatternLayout.class.php	(revision 0)
+++ skeleton/util/log/PatternLayout.class.php	(revision 0)
@@ -0,0 +1,93 @@
+<?php
+/* This class is part of the XP framework
+ *

-        $this->_indicators[$flag]
-      );
-      
-      foreach (array_keys($this->_appenders) as $appflag) {
-        if (!($flag & $appflag)) continue;
-        foreach (array_keys($this->_appenders[$appflag]) as $idx) {
-          call_user_func_array(
-            array($this->_appenders[$appflag][$idx], 'append'),
-            $args
-          );
+    protected function callAppenders($level, $args) {
+      $event= new LoggingEvent($this, time(), getmypid(), $level, $args);
+      foreach ($this->_appenders as $appflag => $appenders) {
+        if (!($level & $appflag)) continue;
+        foreach ($appenders as $appender) {
+          $appender->append($event);
         }
       }
     }
@@ -133,8 +106,8 @@
      */
     public function finalize() {
       foreach ($this->_appenders as $flags => $appenders) {
