Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Logger.php
Go to the documentation of this file.
1 <?php
7 
8 use Cm\RedisSession\Handler\ConfigInterface;
9 use Psr\Log\LoggerInterface;
11 
12 class Logger implements \Cm\RedisSession\Handler\LoggerInterface
13 {
17  private $logger;
18 
22  private $logLevel;
23 
27  private $request;
28 
36  public function __construct(ConfigInterface $config, LoggerInterface $logger, Request $request)
37  {
38  $this->logger = $logger;
39  $this->request = $request;
40  $this->logLevel = $config->getLogLevel() ?: self::ALERT;
41  }
42 
46  public function setLogLevel($level)
47  {
48  $this->logLevel = $level;
49  }
50 
54  public function log($message, $level)
55  {
56  $message .= ' ' . $this->request->getRequestUri();
57  if ($this->logLevel >= $level) {
58  switch ($level) {
59  case self::EMERGENCY:
60  $this->logger->emergency($message);
61  break;
62  case self::ALERT:
63  $this->logger->alert($message);
64  break;
65  case self::CRITICAL:
66  $this->logger->critical($message);
67  break;
68  case self::ERROR:
69  $this->logger->error($message);
70  break;
71  case self::WARNING:
72  $this->logger->warning($message);
73  break;
74  case self::NOTICE:
75  $this->logger->notice($message);
76  break;
77  case self::INFO:
78  $this->logger->info($message);
79  break;
80  default:
81  $this->logger->debug($message);
82  }
83  }
84  }
85 
89  public function logException(\Exception $e)
90  {
91  $this->logger->critical($e->getMessage());
92  }
93 }
$config
Definition: fraud_order.php:17
$message
$logger
__construct(ConfigInterface $config, LoggerInterface $logger, Request $request)
Definition: Logger.php:36