src/Controller/Rest/SystemLogController.php line 40

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Rest;
  3. use FOS\RestBundle\Controller\Annotations as Rest;
  4. use FOS\RestBundle\Controller\FOSRestController;
  5. use FOS\RestBundle\View\View;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use App\Entity\Log;
  10. class SystemLogController extends AbstractController {
  11.     private $logger;
  12.     
  13.     public function __construct() {
  14.     $this->logger = new Log();
  15.     }
  16.     /**
  17.      * Log an event
  18.      * @Rest\Post("/log/{section}/{source}/{severity}")
  19.      */
  20.     public function log(Request $requeststring $sectionstring $sourcestring $severity) {
  21.     
  22.     if( $this->logger->validate($section) ) {
  23.         $severity strtoupper($severity);
  24.         $level "\App\Entity\Log::LOG_LVL_{$severity}";
  25.         
  26.         if(defined($level)) {
  27.         $em $this->getDoctrine()->getManager();
  28.         //$data = json_decode($request->getContent(), true);
  29.         
  30.         $context = (string) $request->get('context');
  31.         
  32.         $msg = (string) $request->get('msg');
  33.         
  34.         
  35.         
  36.         $triggeredBy = (string) $request->get('triggeredBy');
  37.         
  38.         $level constant($level);
  39.         
  40.         $this->logger->setMessage($msg);
  41.         $this->logger->setLevel($level);
  42.         $this->logger->setLevelName($severity);
  43.         $this->logger->setContext($context);
  44.         $this->logger->setSection($section);
  45.         $this->logger->setSource($source);
  46.         $this->logger->setTriggeredBy($triggeredBy);
  47.         //dump($this->logger);die;
  48.         $em->persist($this->logger);
  49.         $em->flush();
  50.     
  51.         
  52.         //$response = new \Symfony\Component\HttpFoundation\JsonResponse(array('status' => '__success' ));
  53.         //$response->setEncodingOptions($response->getEncodingOptions() | JSON_PRETTY_PRINT);
  54.         //return $response;
  55.         
  56.         return $this->json(array('status' => '__success' ));
  57.         }
  58.     }
  59.     
  60.     return $this->json(array('status' => '__success' ));
  61.     
  62.     /*
  63.     
  64.         */
  65.     
  66.     
  67.     }
  68. }