Log exceptions and PEAR_Errors with ERR level by default.
authorJan Schneider <jan@horde.org>
Thu, 27 May 2010 14:42:41 +0000 (16:42 +0200)
committerJan Schneider <jan@horde.org>
Sat, 29 May 2010 09:02:25 +0000 (11:02 +0200)
framework/Core/lib/Horde.php
framework/Core/lib/Horde/Core/Log/Logger.php

index 3796f98..9f9c11f 100644 (file)
@@ -76,7 +76,7 @@ class Horde
      *
      * @see Horde_Core_Log_Logger
      */
-    static public function logMessage($event, $priority = 'INFO',
+    static public function logMessage($event, $priority = null,
                                       array $options = array())
     {
         $options['trace'] = 2;
index 9504cce..6d62ad5 100644 (file)
@@ -34,22 +34,18 @@ class Horde_Core_Log_Logger extends Horde_Log_Logger
      * 'trace' - (integer) The trace level of the original log location.
      * </pre>
      */
-    public function log($event, $priority = 'INFO', $options = array())
+    public function log($event, $priority = null, $options = array())
     {
-        if (is_string($priority)) {
-            $priority = defined('Horde_Log::' . $priority)
-                ? constant('Horde_Log::' . $priority)
-                : Horde_Log::INFO;
-        }
-
         /* If an array is passed in, assume that the caller knew what they
          * were doing and pass it directly to the log backend. */
         if (is_array($event)) {
-            parent::log($event, $priority);
-            return;
+            return parent::log($event, constant('Horde_Log::' . $priority));
         }
 
         if ($event instanceof Exception) {
+            if (is_null($priority)) {
+                $priority = Horde_Log::ERR;
+            }
             $text = $event->getMessage();
             $trace = array(
                 'file' => $event->getFile(),
@@ -57,6 +53,9 @@ class Horde_Core_Log_Logger extends Horde_Log_Logger
             );
         } else {
             if ($event instanceof PEAR_Error) {
+                if (is_null($priority)) {
+                    $priority = Horde_Log::ERR;
+                }
                 $userinfo = $event->getUserInfo();
                 $text = $event->getMessage();
                 if (!empty($userinfo)) {
@@ -91,6 +90,14 @@ class Horde_Core_Log_Logger extends Horde_Log_Logger
             $trace = $trace[$frame];
         }
 
+        if (is_null($priority)) {
+            $priority = Horde_Log::INFO;
+        } elseif (is_string($priority)) {
+            $priority = defined('Horde_Log::' . $priority)
+                ? constant('Horde_Log::' . $priority)
+                : Horde_Log::INFO;
+        }
+
         $file = isset($options['file'])
             ? $options['file']
             : $trace['file'];