Moved logException to OCP\Util class

This commit is contained in:
Vincent Petry 2013-10-23 10:47:26 +02:00
parent 83956b1703
commit 42c58220de
2 changed files with 34 additions and 29 deletions

View File

@ -23,34 +23,6 @@
$RUNTIME_NOAPPS = true; //no apps, yet $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 { try {
require_once 'lib/base.php'; require_once 'lib/base.php';
@ -58,7 +30,7 @@ try {
OC::handleRequest(); OC::handleRequest();
} catch (Exception $ex) { } catch (Exception $ex) {
logException($ex); \OCP\Util::logException($ex);
//show the user a detailed error page //show the user a detailed error page
OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR); OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR);

View File

@ -77,6 +77,39 @@ class Util {
\OC_LOG::write( $app, $message, $level ); \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 * @brief get l10n object
* @param string $app * @param string $app