1 | <?php declare(strict_types=1); |
||
34 | class DbHandler extends AbstractProcessingHandler |
||
35 | { |
||
36 | /** |
||
37 | * @var Db |
||
38 | */ |
||
39 | protected $db; |
||
40 | |||
41 | /** |
||
42 | * @var string |
||
43 | */ |
||
44 | protected $table; |
||
45 | |||
46 | /** |
||
47 | * @var string[] |
||
48 | */ |
||
49 | protected $additionalFields; |
||
50 | |||
51 | /** |
||
52 | * @var int |
||
53 | */ |
||
54 | protected $maxEntries; |
||
55 | |||
56 | /** |
||
57 | * @var int |
||
58 | */ |
||
59 | protected $cleanDivisor = 100; |
||
60 | |||
61 | /** |
||
62 | * Default probability of table being cleaned (1/100 = 1%). |
||
63 | * |
||
64 | * @var int |
||
65 | */ |
||
66 | protected $cleanProbability = 1; |
||
67 | |||
68 | /** |
||
69 | * @param Db $db |
||
70 | * @param int $maxEntries |
||
71 | * @param string[] $additionalFields |
||
72 | * @param int $level |
||
73 | * @param bool $bubble |
||
74 | * @param string $table |
||
75 | */ |
||
76 | 6 | public function __construct( |
|
91 | |||
92 | /** |
||
93 | * {@inheritdoc} |
||
94 | */ |
||
95 | 5 | protected function processRecord(array $record): array |
|
111 | |||
112 | /** |
||
113 | * {@inheritdoc} |
||
114 | */ |
||
115 | 5 | protected function write(array $record): void |
|
127 | |||
128 | 5 | protected function clean(string $channel): void |
|
138 | |||
139 | 2 | protected function getChannelEntriesCount(string $channel): int |
|
146 | |||
147 | 1 | protected function deleteXOldestChannelEntries(string $channel, int $entriesToDelete): void |
|
158 | |||
159 | 1 | public function clear(Logger $logger): void |
|
163 | |||
164 | /** |
||
165 | * {@inheritdoc} |
||
166 | */ |
||
167 | 5 | protected function getDefaultFormatter(): DbFormatter |
|
171 | |||
172 | /** |
||
173 | * @see setCleanProbability() |
||
174 | */ |
||
175 | 1 | public function setCleanDivisor(int $cleanDivisor): void |
|
179 | |||
180 | /** |
||
181 | * Sets the probability that log table is cleaned on log write. |
||
182 | * |
||
183 | * The clean probability together with clean divisor is used to calculate the probability. |
||
184 | * With a clean probability of 1 and a divisor of 100, there's a 1% chance (1/100) the table |
||
185 | * will be cleaned. |
||
186 | */ |
||
187 | 3 | public function setCleanProbability(int $cleanProbability): void |
|
191 | } |
||
192 |