/** * Logs exceptional results of the NodeService's getNodeByContextNodePath() method which is called by FrontendNodeRoutePartHandler::matchValue() * * @FLOW3\AfterThrowing("method(TYPO3\TYPO3\Service\NodeService->getNodeByContextNodePath())") * @param \TYPO3\FLOW3\Aop\JoinPointInterface $joinPoint The current join point * @return void */ public function logFailedMatch(\TYPO3\FLOW3\Aop\JoinPointInterface $joinPoint) { $relativeContextNodePath = $joinPoint->getMethodArgument('relativeContextNodePath'); $exception = $joinPoint->getException(); if ($exception !== NULL) { $this->systemLogger->log(sprintf('%s failed to retrieve a node for path "%s" with message: %s', $joinPoint->getClassName(), $relativeContextNodePath, $exception->getMessage()), LOG_INFO); } }
/** * Logs calls and results of decideOnJoinPoint() * * @FLOW3\AfterThrowing("method(TYPO3\FLOW3\Security\Authorization\AccessDecisionVoterManager->decideOnJoinPoint())") * * @param \TYPO3\FLOW3\Aop\JoinPointInterface $joinPoint * @throws \Exception * @return void */ public function logJoinPointAccessDecisions(\TYPO3\FLOW3\Aop\JoinPointInterface $joinPoint) { $exception = $joinPoint->getException(); $subjectJoinPoint = $joinPoint->getMethodArgument('joinPoint'); $message = $exception->getMessage() . ' to method ' . $subjectJoinPoint->getClassName() . '::' . $subjectJoinPoint->getMethodName() . '().'; $this->securityLogger->log($message, \LOG_INFO); throw $exception; }