9 use Psr\Log\LoggerInterface;
40 $this->config = $config;
51 public function debug(array
$data, array $maskKeys =
null, $forceDebug =
null)
53 $maskKeys = $maskKeys !==
null ? $maskKeys : $this->getDebugReplaceFields();
54 $debugOn = $forceDebug !==
null ? $forceDebug : $this->isDebugOn();
55 if ($debugOn ===
true) {
60 $this->logger->debug(var_export(
$data,
true));
69 private function getDebugReplaceFields()
71 if ($this->config && $this->config->getValue(
'debugReplaceKeys')) {
72 return explode(
',', $this->config->getValue(
'debugReplaceKeys'));
82 private function isDebugOn()
84 return $this->config && (bool)$this->config->getValue(
'debug');
94 protected function filterDebugData(array $debugData, array $debugReplacePrivateDataKeys)
96 $debugReplacePrivateDataKeys = array_map(
'strtolower', $debugReplacePrivateDataKeys);
98 foreach (array_keys($debugData) as $key) {
99 if (in_array(strtolower($key), $debugReplacePrivateDataKeys)) {
101 }
elseif (is_array($debugData[$key])) {
102 $debugData[$key] = $this->
filterDebugData($debugData[$key], $debugReplacePrivateDataKeys);
elseif(isset( $params[ 'redirect_parent']))
filterDebugData(array $debugData, array $debugReplacePrivateDataKeys)
__construct(LoggerInterface $logger, ConfigInterface $config=null)
debug(array $data, array $maskKeys=null, $forceDebug=null)