From 2b6869bcea2b09357a81ddd299969c47e2b79ada Mon Sep 17 00:00:00 2001
From: VicDeo <victor.dubiniuk@gmail.com>
Date: Wed, 26 Sep 2012 14:38:06 +0300
Subject: [PATCH] Uncaught exception logging

---
 lib/base.php | 5 +++--
 lib/log.php  | 5 +++++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/lib/base.php b/lib/base.php
index 4ff5a43bd2..b4b56267c5 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -317,8 +317,9 @@ class OC{
 
 		self::initPaths();
 
-		register_shutdown_function(array('OC_Log', 'onShutdown'));		
-		set_error_handler(array('OC_Log', 'onError' ));
+		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) {
diff --git a/lib/log.php b/lib/log.php
index 9c754cf60c..17f781fa91 100644
--- a/lib/log.php
+++ b/lib/log.php
@@ -47,6 +47,11 @@ class OC_Log {
 			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){
-- 
GitLab