diff --git a/index.php b/index.php index 1b9b4a58f7..ab7333cf0e 100755 --- a/index.php +++ b/index.php @@ -23,34 +23,6 @@ $RUNTIME_NOAPPS = true; //no apps, yet -function logException($ex) { - $message = $ex->getMessage(); - if ($ex->getCode()) { - $message .= ' [' . $message . ']'; - } - \OCP\Util::writeLog('index', $message, \OCP\Util::FATAL); - if (defined('DEBUG') and DEBUG) { - // also log stack trace - $stack = explode('#', $ex->getTraceAsString()); - // first element is empty - array_shift($stack); - foreach ($stack as $s) { - \OCP\Util::writeLog('index', $s, \OCP\Util::FATAL); - } - - // include cause - $l = OC_L10N::get('lib'); - while (method_exists($ex, 'getPrevious') && $ex = $ex->getPrevious()) { - $message .= ' - '.$l->t('Caused by:').' '; - $message .= $ex->getMessage(); - if ($ex->getCode()) { - $message .= '['.$ex->getCode().'] '; - } - \OCP\Util::writeLog('index', $message, \OCP\Util::FATAL); - } - } -} - try { require_once 'lib/base.php'; @@ -58,7 +30,7 @@ try { OC::handleRequest(); } catch (Exception $ex) { - logException($ex); + \OCP\Util::logException($ex); //show the user a detailed error page OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR); diff --git a/lib/public/util.php b/lib/public/util.php index b33f07b55e..00ef863c24 100644 --- a/lib/public/util.php +++ b/lib/public/util.php @@ -77,6 +77,39 @@ class Util { \OC_LOG::write( $app, $message, $level ); } + /** + * @brief write exception into the log. Include the stack trace + * if DEBUG mode is enabled + * @param Exception $ex exception to log + */ + public static function logException( \Exception $ex ) { + $message = $ex->getMessage(); + if ($ex->getCode()) { + $message .= ' [' . $ex->getCode() . ']'; + } + \OCP\Util::writeLog('index', 'Exception: ' . $message, \OCP\Util::FATAL); + if (defined('DEBUG') and DEBUG) { + // also log stack trace + $stack = explode('#', $ex->getTraceAsString()); + // first element is empty + array_shift($stack); + foreach ($stack as $s) { + \OCP\Util::writeLog('index', 'Exception: ' . $s, \OCP\Util::FATAL); + } + + // include cause + $l = \OC_L10N::get('lib'); + while (method_exists($ex, 'getPrevious') && $ex = $ex->getPrevious()) { + $message .= ' - '.$l->t('Caused by:').' '; + $message .= $ex->getMessage(); + if ($ex->getCode()) { + $message .= '[' . $ex->getCode() . '] '; + } + \OCP\Util::writeLog('index', 'Exception: ' . $message, \OCP\Util::FATAL); + } + } + } + /** * @brief get l10n object * @param string $app