Merge pull request #37 from gabor-udvari/master

Add logging and template to unhandled exceptions
This commit is contained in:
Andras Timar 2017-04-20 15:01:11 +02:00 committed by GitHub
commit 9b88e6b38c

View File

@ -21,6 +21,7 @@ use OCP\Files\Node;
use \OCP\IRequest; use \OCP\IRequest;
use \OCP\IConfig; use \OCP\IConfig;
use \OCP\IL10N; use \OCP\IL10N;
use \OCP\ILogger;
use \OCP\AppFramework\Http\ContentSecurityPolicy; use \OCP\AppFramework\Http\ContentSecurityPolicy;
use \OCP\AppFramework\Http\TemplateResponse; use \OCP\AppFramework\Http\TemplateResponse;
use \OCA\Richdocuments\AppConfig; use \OCA\Richdocuments\AppConfig;
@ -38,6 +39,8 @@ class DocumentController extends Controller {
private $settings; private $settings;
/** @var AppConfig */ /** @var AppConfig */
private $appConfig; private $appConfig;
/** @var ILogger */
private $logger;
/** @var Parser */ /** @var Parser */
private $wopiParser; private $wopiParser;
/** @var IManager */ /** @var IManager */
@ -74,7 +77,8 @@ class DocumentController extends Controller {
TokenManager $tokenManager, TokenManager $tokenManager,
IRootFolder $rootFolder, IRootFolder $rootFolder,
ISession $session, ISession $session,
$UserId) { $UserId,
ILogger $logger) {
parent::__construct($appName, $request); parent::__construct($appName, $request);
$this->uid = $UserId; $this->uid = $UserId;
$this->l10n = $l10n; $this->l10n = $l10n;
@ -85,6 +89,7 @@ class DocumentController extends Controller {
$this->tokenManager = $tokenManager; $this->tokenManager = $tokenManager;
$this->rootFolder = $rootFolder; $this->rootFolder = $rootFolder;
$this->session = $session; $this->session = $session;
$this->logger = $logger;
} }
/** /**
@ -118,6 +123,19 @@ class DocumentController extends Controller {
$response->setContentSecurityPolicy($policy); $response->setContentSecurityPolicy($policy);
return $response; return $response;
} catch (\Exception $e) { } catch (\Exception $e) {
$this->logger->logException($e, ['app'=>'richdocuments']);
$params = [
'remoteAddr' => $this->request->getRemoteAddress(),
'requestID' => $this->request->getId(),
'debugMode' => $this->settings->getSystemValue('debug'),
'errorClass' => get_class($e),
'errorCode' => $e->getCode(),
'errorMsg' => $e->getMessage(),
'file' => $e->getFile(),
'line' => $e->getLine(),
'trace' => $e->getTraceAsString()
];
return new TemplateResponse('core', 'exception', $params, 'guest');
} }
return new TemplateResponse('core', '403', [], 'guest'); return new TemplateResponse('core', '403', [], 'guest');
@ -169,6 +187,19 @@ class DocumentController extends Controller {
return $response; return $response;
} }
} catch (\Exception $e) { } catch (\Exception $e) {
$this->logger->logException($e, ['app'=>'richdocuments']);
$params = [
'remoteAddr' => $this->request->getRemoteAddress(),
'requestID' => $this->request->getId(),
'debugMode' => $this->settings->getSystemValue('debug'),
'errorClass' => get_class($e),
'errorCode' => $e->getCode(),
'errorMsg' => $e->getMessage(),
'file' => $e->getFile(),
'line' => $e->getLine(),
'trace' => $e->getTraceAsString()
];
return new TemplateResponse('core', 'exception', $params, 'guest');
} }
return new TemplateResponse('core', '403', [], 'guest'); return new TemplateResponse('core', '403', [], 'guest');