diff options
author | Victor Dubiniuk <victor.dubiniuk@gmail.com> | 2012-10-16 01:30:45 +0300 |
---|---|---|
committer | Victor Dubiniuk <victor.dubiniuk@gmail.com> | 2012-10-16 01:30:45 +0300 |
commit | ddcd7383574db2d076def39cfb130b8a4bf0180c (patch) | |
tree | 13e8b1d70354e9a673670e0061f2f99bbdc6a29d /lib | |
parent | e6c9f5d9f4ea78a89892932bd0f6752d19ee2c3a (diff) | |
parent | 2b6869bcea2b09357a81ddd299969c47e2b79ada (diff) | |
download | nextcloud-server-ddcd7383574db2d076def39cfb130b8a4bf0180c.tar.gz nextcloud-server-ddcd7383574db2d076def39cfb130b8a4bf0180c.zip |
Merge branch 'extended_log'
PHP errors logging into the owncloud log
Diffstat (limited to 'lib')
-rw-r--r-- | lib/base.php | 4 | ||||
-rw-r--r-- | lib/log.php | 22 |
2 files changed, 26 insertions, 0 deletions
diff --git a/lib/base.php b/lib/base.php index 9f21e26279f..69685559608 100644 --- a/lib/base.php +++ b/lib/base.php @@ -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'])) { diff --git a/lib/log.php b/lib/log.php index 6de99b4ea6b..4bba62cf4b2 100644 --- a/lib/log.php +++ b/lib/log.php @@ -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); + + } } |