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 
9 use Psr\Log\LoggerInterface;
10 
17 class Logger
18 {
19  const DEBUG_KEYS_MASK = '****';
20 
24  protected $logger;
25 
29  private $config;
30 
35  public function __construct(
36  LoggerInterface $logger,
37  ConfigInterface $config = null
38  ) {
39  $this->logger = $logger;
40  $this->config = $config;
41  }
42 
51  public function debug(array $data, array $maskKeys = null, $forceDebug = null)
52  {
53  $maskKeys = $maskKeys !== null ? $maskKeys : $this->getDebugReplaceFields();
54  $debugOn = $forceDebug !== null ? $forceDebug : $this->isDebugOn();
55  if ($debugOn === true) {
56  $data = $this->filterDebugData(
57  $data,
58  $maskKeys
59  );
60  $this->logger->debug(var_export($data, true));
61  }
62  }
63 
69  private function getDebugReplaceFields()
70  {
71  if ($this->config && $this->config->getValue('debugReplaceKeys')) {
72  return explode(',', $this->config->getValue('debugReplaceKeys'));
73  }
74  return [];
75  }
76 
82  private function isDebugOn()
83  {
84  return $this->config && (bool)$this->config->getValue('debug');
85  }
86 
94  protected function filterDebugData(array $debugData, array $debugReplacePrivateDataKeys)
95  {
96  $debugReplacePrivateDataKeys = array_map('strtolower', $debugReplacePrivateDataKeys);
97 
98  foreach (array_keys($debugData) as $key) {
99  if (in_array(strtolower($key), $debugReplacePrivateDataKeys)) {
100  $debugData[$key] = self::DEBUG_KEYS_MASK;
101  } elseif (is_array($debugData[$key])) {
102  $debugData[$key] = $this->filterDebugData($debugData[$key], $debugReplacePrivateDataKeys);
103  }
104  }
105  return $debugData;
106  }
107 }
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17
filterDebugData(array $debugData, array $debugReplacePrivateDataKeys)
Definition: Logger.php:94
__construct(LoggerInterface $logger, ConfigInterface $config=null)
Definition: Logger.php:35
debug(array $data, array $maskKeys=null, $forceDebug=null)
Definition: Logger.php:51