custom/plugins/MolliePayments/src/Service/Logger/MollieLoggerFactory.php line 68

Open in your IDE?
  1. <?php
  2. namespace Kiener\MolliePayments\Service\Logger;
  3. use Kiener\MolliePayments\Service\SettingsService;
  4. use Monolog\Handler\RotatingFileHandler;
  5. use Monolog\Logger;
  6. use Monolog\Processor\PsrLogMessageProcessor;
  7. use Psr\Log\LoggerInterface;
  8. use Psr\Log\LogLevel;
  9. use Symfony\Component\HttpFoundation\Session\Session;
  10. class MollieLoggerFactory
  11. {
  12.     /**
  13.      * @var SettingsService
  14.      */
  15.     private $settingsService;
  16.     /**
  17.      * @var Session
  18.      */
  19.     private $session;
  20.     /**
  21.      * @var string
  22.      */
  23.     private $filename;
  24.     /**
  25.      * @var string
  26.      */
  27.     private $retentionDays;
  28.     /**
  29.      * @param SettingsService $settingsService
  30.      * @param Session $session
  31.      * @param $filename
  32.      * @param $retentionDays
  33.      */
  34.     public function __construct(SettingsService $settingsServiceSession $session$filename$retentionDays)
  35.     {
  36.         $this->settingsService $settingsService;
  37.         $this->session $session;
  38.         $this->filename $filename;
  39.         $this->retentionDays $retentionDays;
  40.     }
  41.     /**
  42.      * @return MollieLogger
  43.      */
  44.     public function createLogger()
  45.     {
  46.         $config $this->settingsService->getSettings();
  47.         $sessionID $this->session->getId();
  48.         $minLevel LogLevel::INFO;
  49.         if ($config->isDebugMode()) {
  50.             $minLevel LogLevel::DEBUG;
  51.         }
  52.         return new MollieLogger(
  53.             $this->filename,
  54.             $this->retentionDays,
  55.             $minLevel,
  56.             $sessionID
  57.         );
  58.     }
  59. }