Newer
Older
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
namespace Civi\MJW;
/**
* Abstracts the Civi::log class so that we:
* - Don't have to specify channel each time we log.
* - Automatically log the entityID/name if provided.
*/
class Logger {
/**
* The Log channel
*
* @var string
*/
private string $logChannel = '';
/**
* The entityID/Name
*
* @var string
*/
private string $logEntity = '';
public function __construct(string $logChannel, string $logEntity) {
$this->logChannel = $logChannel;
$this->logEntity = $logEntity;
}
/**
* Log an info message with payment processor prefix
* @param string $message
*
* @return void
*/
public function logInfo(string $message) {
$this->log('info', $message);
}
/**
* Log an error message with payment processor prefix
*
* @param string $message
*
* @return void
*/
public function logError(string $message) {
$this->log('error', $message);
}
/**
* Log a debug message with payment processor prefix
*
* @param string $message
*
* @return void
*/
public function logDebug(string $message) {
$this->log('debug', $message);
}
/**
* @param string $level
* @param string $message
*
* @return void
*/
private function log(string $level, string $message) {
$channel = $this->logChannel;
$prefix = $channel . '(' . $this->logEntity . '): ';
\Civi::log($channel)->$level($prefix . $message);
}
}