[BUGFIX] Disclose exceptions on CLI in production context 31/45331/2
authorHelmut Hummel <helmut.hummel@typo3.org>
Thu, 17 Dec 2015 11:18:09 +0000 (12:18 +0100)
committerMarkus Klein <markus.klein@typo3.org>
Thu, 17 Dec 2015 11:19:33 +0000 (12:19 +0100)
It is pointless to hide the exception message on CLI
in the production context. On CLI there are privileged
users only anyway and hiding this information from them
leads to wasted hours of debugging.

Output the necessary information also in ProductionExceptionHandler

Resolves: #72265
Releases: master, 6.2
Change-Id: I778b057fc7e170af2a2fcdb1befb2a4400449ce7
Reviewed-on: https://review.typo3.org/45331
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
typo3/sysext/core/Classes/Error/ProductionExceptionHandler.php

index 08bf8b1..5e52477 100644 (file)
@@ -13,7 +13,6 @@ namespace TYPO3\CMS\Core\Error;
  *
  * The TYPO3 project - inspiring people to share!
  */
-use TYPO3\CMS\Core\Messaging\ErrorpageMessage;
 
 /**
  * A quite exception handler which catches but ignores any exception.
@@ -71,7 +70,15 @@ class ProductionExceptionHandler extends AbstractExceptionHandler {
         * @return void
         */
        public function echoExceptionCLI(\Exception $exception) {
+               $filePathAndName = $exception->getFile();
+               $exceptionCodeNumber = $exception->getCode() > 0 ? '#' . $exception->getCode() . ': ' : '';
                $this->writeLogEntries($exception, self::CONTEXT_CLI);
+               echo '
+Uncaught TYPO3 Exception ' . $exceptionCodeNumber . $exception->getMessage() . LF;
+               echo 'thrown in file ' . $filePathAndName . LF;
+               echo 'in line ' . $exception->getLine() . '
+
+';
                die(1);
        }