]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Log backtraces for non-ClientException exceptions caught at the top-level handler.
authorBrion Vibber <brion@pobox.com>
Mon, 22 Mar 2010 18:33:56 +0000 (11:33 -0700)
committerBrion Vibber <brion@pobox.com>
Mon, 22 Mar 2010 18:33:56 +0000 (11:33 -0700)
index.php
lib/servererroraction.php

index 36ba3a0d2163915fa700ef0373b5ee65fa317c63..ea5c802779eb9aaf4cb623fcc95ef989f578a63b 100644 (file)
--- a/index.php
+++ b/index.php
@@ -324,10 +324,10 @@ function main()
             $cac = new ClientErrorAction($cex->getMessage(), $cex->getCode());
             $cac->showPage();
         } catch (ServerException $sex) { // snort snort guffaw
-            $sac = new ServerErrorAction($sex->getMessage(), $sex->getCode());
+            $sac = new ServerErrorAction($sex->getMessage(), $sex->getCode(), $sex);
             $sac->showPage();
         } catch (Exception $ex) {
-            $sac = new ServerErrorAction($ex->getMessage());
+            $sac = new ServerErrorAction($ex->getMessage(), 500, $ex);
             $sac->showPage();
         }
     }
index 0993a63bca506149dcecddf892b6d264d4b1cd8e..9b5a553dc64a341e578e2efd6bb08285b017d868 100644 (file)
@@ -62,15 +62,18 @@ class ServerErrorAction extends ErrorAction
                            504 => 'Gateway Timeout',
                            505 => 'HTTP Version Not Supported');
 
-    function __construct($message='Error', $code=500)
+    function __construct($message='Error', $code=500, $ex=null)
     {
         parent::__construct($message, $code);
 
         $this->default = 500;
 
         // Server errors must be logged.
-
-        common_log(LOG_ERR, "ServerErrorAction: $code $message");
+        $log = "ServerErrorAction: $code $message";
+        if ($ex) {
+            $log .= "\n" . $ex->getTraceAsString();
+        }
+        common_log(LOG_ERR, $log);
     }
 
     // XXX: Should these error actions even be invokable via URI?