Merge branch 'extended_log'

PHP errors logging into the owncloud log
This commit is contained in:
Victor Dubiniuk 2012-10-16 01:30:45 +03:00
commit ddcd738357
2 changed files with 26 additions and 0 deletions

View File

@ -323,6 +323,10 @@ class OC{
self::initPaths();
register_shutdown_function(array('OC_Log', 'onShutdown'));
set_error_handler(array('OC_Log', 'onError'));
set_exception_handler(array('OC_Log', 'onException'));
// set debug mode if an xdebug session is active
if (!defined('DEBUG') || !DEBUG) {
if(isset($_COOKIE['XDEBUG_SESSION'])) {

View File

@ -39,4 +39,26 @@ class OC_Log {
$log_class::write($app, $message, $level);
}
}
//Fatal errors handler
public static function onShutdown(){
$error = error_get_last();
if($error) {
//ob_end_clean();
self::write('PHP', $error['message'] . ' at ' . $error['file'] . '#' . $error['line'], self::FATAL);
} else {
return true;
}
}
// Uncaught exception handler
public static function onException($exception){
self::write('PHP', $exception->getMessage() . ' at ' . $exception->getFile() . '#' . $exception->getLine(), self::FATAL);
}
//Recoverable errors handler
public static function onError($number, $message, $file, $line){
self::write('PHP', $message . ' at ' . $file . '#' . $line, self::WARN);
}
}