/** * @param int $logId * @return mixed * @throws \Magento\Framework\Exception\NoSuchEntityException */ public function getById($logId) { $log = $this->logFactory->create(); $this->resource->load($log, $logId); if (!$log->getId()) { throw new \Magento\Framework\Exception\NoSuchEntityException(__('AccessLog with id "%1" does not exist.', $logId)); } return $log; }
/** * Observer for controller_front_send_response_before event fired in lib/internal/Magento/Framework/App/Http.php. * * $eventParams = ['request' => $this->_request, 'response' => $this->_response]; * * request => Magento\Framework\App\Request\Http * response => Magento\Framework\Webapi\Rest\Response\Proxy * * * @param \Magento\Framework\Event\Observer $observer * @return $this */ public function execute(\Magento\Framework\Event\Observer $observer) { /* @var $request \Magento\Framework\App\Request\Http */ $request = $observer->getEvent()->getRequest(); $areaCode = $this->areaList->getCodeByFrontName($request->getFrontName()); /** * Stop execution if module is not active * or if the current request falls within excluded areas * or if the current request falls within excluded actions */ if (!$this->helper->isFoggylineSentinelActive() or in_array($areaCode, $this->helper->getExcludeAreas()) or in_array($request->getFullActionName(), $this->helper->getExcludeActions())) { //return $this; } /* @var $log \Foggyline\Sentinel\Model\AccessLog */ $log = $this->log->create(); $log->setRequestId($this->helper->getHttpRequestUniqueId()); if ($this->authSession && $this->authSession->getUser()) { $user = $this->authSession->getUser(); $log->setUserId($user->getId()); $log->setUserUsername($user->getUserName()); $log->setUserEmail($user->getEmail()); $log->setUserName($user->getName()); } $log->setActionName($request->getActionName()); $log->setFullActionName($request->getFullActionName()); $log->setClientIp($request->getClientIp()); $log->setRequestString($request->getRequestString()); $log->setRequestMethod($request->getMethod()); $log->setHttpGetParams($_GET); $log->setHttpPostParams($_POST); $log->setHttpFilesParams($_FILES); $log->setModuleName($request->getModuleName()); $log->setControllerModule($request->getControllerModule()); $log->setArea($areaCode); try { $log->save(); } catch (\Exception $e) { $this->logger->critical($e); } return $this; }