/
Log.php
executable file
·37 lines (29 loc) · 1013 Bytes
/
Log.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
namespace Securetrading\Stpp\JsonInterface;
class Log extends \Psr\Log\AbstractLogger {
protected $_logger;
protected $_requestReference;
public function setLogger(\Psr\Log\LoggerInterface $logger) {
$this->_logger = $logger;
return $this;
}
protected function _getLogger() {
if ($this->_logger === null) {
throw new LogException('The logger has not been set.', LogException::CODE_LOGGER_NOT_SET);
}
return $this->_logger;
}
public function setRequestReference($requestReference) {
$this->_requestReference = $requestReference;
return $this;
}
public function log($logLevel, $message, array $context = array()) {
$message = $this->_formatMessage($message);
$this->_getLogger()->log($logLevel, $message, $context);
return $this;
}
protected function _formatMessage($message) {
$requestReference = $this->_requestReference ? $this->_requestReference : ' NOREF';
return sprintf('%s - %s', $requestReference, $message);
}
}