Move logger binder to a factory binder
authorMichael J. Rubinsky <mrubinsk@horde.org>
Thu, 7 Oct 2010 17:06:35 +0000 (13:06 -0400)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Thu, 7 Oct 2010 17:40:30 +0000 (13:40 -0400)
framework/Core/lib/Horde/Core/Binder/Logger.php [deleted file]
framework/Core/lib/Horde/Core/Factory/Logger.php [new file with mode: 0644]
framework/Core/lib/Horde/Registry.php
framework/Core/package.xml

diff --git a/framework/Core/lib/Horde/Core/Binder/Logger.php b/framework/Core/lib/Horde/Core/Binder/Logger.php
deleted file mode 100644 (file)
index 10ce017..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-/**
- * @category Horde
- * @package  Core
- */
-class Horde_Core_Binder_Logger implements Horde_Injector_Binder
-{
-    public function create(Horde_Injector $injector)
-    {
-        global $conf;
-
-        /* Default handler. */
-        if (empty($conf['log']['enabled'])) {
-            return new Horde_Core_Log_Logger(new Horde_Log_Handler_Null());
-        }
-
-        switch ($conf['log']['type']) {
-        case 'file':
-        case 'stream':
-            $append = ($conf['log']['type'] == 'file')
-                ? ($conf['log']['params']['append'] ? 'a+' : 'w+')
-                : null;
-            $format = isset($conf['log']['params']['format'])
-                ? $conf['log']['params']['format']
-                : 'default';
-
-            switch ($format) {
-            case 'custom':
-                $formatter = new Horde_Log_Formatter_Xml(array('format' => $conf['log']['params']['template']));
-                break;
-
-            case 'default':
-            default:
-                // Use Horde_Log defaults.
-                $formatter = null;
-                break;
-
-            case 'xml':
-                $formatter = new Horde_Log_Formatter_Xml();
-                break;
-            }
-
-            try {
-                $handler = new Horde_Log_Handler_Stream($conf['log']['name'], $append, $formatter);
-            } catch (Horde_Log_Exception $e) {
-                return new Horde_Core_Log_Logger(new Horde_Log_Handler_Null());
-            }
-            break;
-
-        case 'syslog':
-            try {
-                $handler = new Horde_Log_Handler_Syslog();
-            } catch (Horde_Log_Exception $e) {
-                return new Horde_Core_Log_Logger(new Horde_Log_Handler_Null());
-            }
-            break;
-
-        case 'null':
-        default:
-            // Use default null handler.
-            return new Horde_Core_Log_Logger(new Horde_Log_Handler_Null());
-            break;
-        }
-
-        if (!defined('Horde_Log::' . $conf['log']['priority'])) {
-            $conf['log']['priority'] = 'NOTICE';
-        }
-        $handler->addFilter(constant('Horde_Log::' . $conf['log']['priority']));
-
-        /* Horde_Core_Log_Logger contains code to format the log message. */
-        return new Horde_Core_Log_Logger($handler);
-    }
-
-    public function equals(Horde_Injector_Binder $binder)
-    {
-        return false;
-    }
-}
diff --git a/framework/Core/lib/Horde/Core/Factory/Logger.php b/framework/Core/lib/Horde/Core/Factory/Logger.php
new file mode 100644 (file)
index 0000000..d7f085b
--- /dev/null
@@ -0,0 +1,74 @@
+<?php
+/**
+ * @category Horde
+ * @package  Core
+ */
+class Horde_Core_Factory_Logger
+{
+    public function create(Horde_Injector $injector)
+    {
+        global $conf;
+
+        /* Default handler. */
+        if (empty($conf['log']['enabled'])) {
+            return new Horde_Core_Log_Logger(new Horde_Log_Handler_Null());
+        }
+
+        switch ($conf['log']['type']) {
+        case 'file':
+        case 'stream':
+            $append = ($conf['log']['type'] == 'file')
+                ? ($conf['log']['params']['append'] ? 'a+' : 'w+')
+                : null;
+            $format = isset($conf['log']['params']['format'])
+                ? $conf['log']['params']['format']
+                : 'default';
+
+            switch ($format) {
+            case 'custom':
+                $formatter = new Horde_Log_Formatter_Xml(array('format' => $conf['log']['params']['template']));
+                break;
+
+            case 'default':
+            default:
+                // Use Horde_Log defaults.
+                $formatter = null;
+                break;
+
+            case 'xml':
+                $formatter = new Horde_Log_Formatter_Xml();
+                break;
+            }
+
+            try {
+                $handler = new Horde_Log_Handler_Stream($conf['log']['name'], $append, $formatter);
+            } catch (Horde_Log_Exception $e) {
+                return new Horde_Core_Log_Logger(new Horde_Log_Handler_Null());
+            }
+            break;
+
+        case 'syslog':
+            try {
+                $handler = new Horde_Log_Handler_Syslog();
+            } catch (Horde_Log_Exception $e) {
+                return new Horde_Core_Log_Logger(new Horde_Log_Handler_Null());
+            }
+            break;
+
+        case 'null':
+        default:
+            // Use default null handler.
+            return new Horde_Core_Log_Logger(new Horde_Log_Handler_Null());
+            break;
+        }
+
+        if (!defined('Horde_Log::' . $conf['log']['priority'])) {
+            $conf['log']['priority'] = 'NOTICE';
+        }
+        $handler->addFilter(constant('Horde_Log::' . $conf['log']['priority']));
+
+        /* Horde_Core_Log_Logger contains code to format the log message. */
+        return new Horde_Core_Log_Logger($handler);
+    }
+
+}
index 6d55900..658469c 100644 (file)
@@ -265,7 +265,6 @@ class Horde_Registry
         $binders = array(
             'Horde_Auth_Factory' => new Horde_Core_Binder_AuthFactory(),
             'Horde_Core_Auth_Signup' => new Horde_Core_Binder_AuthSignup(),
-            'Horde_Log_Logger' => new Horde_Core_Binder_Logger(),
             'Horde_Mail' => new Horde_Core_Binder_Mail(),
             'Horde_Mime_Viewer' => new Horde_Core_Binder_MimeViewer(),
             'Horde_Share_Factory' => new Horde_Core_Binder_ShareFactory(),
@@ -313,6 +312,10 @@ class Horde_Registry
                 'Horde_Core_Factory_History',
                 'create',
             ),
+            'Horde_Log_Logger' => array(
+                'Horde_Core_Factory_Logger',
+                'create',
+            ),
             'Horde_Service_Facebook' => array(
                 'Horde_Core_Factory_Facebook',
                 'create',
index 1bc8f49..868ffbe 100644 (file)
@@ -113,7 +113,6 @@ Application Framework.</description>
        <file name="Auth.php" role="php" />
        <file name="AuthFactory.php" role="php" />
        <file name="AuthSignup.php" role="php" />
-       <file name="Logger.php" role="php" />
        <file name="Mail.php" role="php" />
        <file name="Mapper.php" role="php" />
        <file name="MimeViewer.php" role="php" />
@@ -152,6 +151,7 @@ Application Framework.</description>
        <file name="KolabStorage.php" role="php" />
        <file name="Ldap.php" role="php" />
        <file name="Lock.php" role="php" />
+       <file name="Logger.php" role="php" />
        <file name="LoginTasks.php" role="php" />
        <file name="Memcache.php" role="php" />
        <file name="MimeViewer.php" role="php" />
@@ -425,7 +425,6 @@ Application Framework.</description>
    <install as="Horde/Core/Binder/Auth.php" name="lib/Horde/Core/Binder/Auth.php" />
    <install as="Horde/Core/Binder/AuthFactory.php" name="lib/Horde/Core/Binder/AuthFactory.php" />
    <install as="Horde/Core/Binder/AuthSignup.php" name="lib/Horde/Core/Binder/AuthSignup.php" />
-   <install as="Horde/Core/Binder/Logger.php" name="lib/Horde/Core/Binder/Logger.php" />
    <install as="Horde/Core/Binder/Mail.php" name="lib/Horde/Core/Binder/Mail.php" />
    <install as="Horde/Core/Binder/Mapper.php" name="lib/Horde/Core/Binder/Mapper.php" />
    <install as="Horde/Core/Binder/MimeViewer.php" name="lib/Horde/Core/Binder/MimeViewer.php" />
@@ -460,6 +459,7 @@ Application Framework.</description>
    <install as="Horde/Core/Factory/KolabStorage.php" name="lib/Horde/Core/Factory/KolabStorage.php" />
    <install as="Horde/Core/Factory/Ldap.php" name="lib/Horde/Core/Factory/Ldap.php" />
    <install as="Horde/Core/Factory/Lock.php" name="lib/Horde/Core/Factory/Lock.php" />
+   <install as="Horde/Core/Factory/Logger.php" name="lib/Horde/Core/Factory/Logger.php" />
    <install as="Horde/Core/Factory/LoginTasks.php" name="lib/Horde/Core/Factory/LoginTasks.php" />
    <install as="Horde/Core/Factory/Memcache.php" name="lib/Horde/Core/Factory/Memcache.php" />
    <install as="Horde/Core/Factory/MimeViewer.php" name="lib/Horde/Core/Factory/MimeViewer.php" />