Refactor Loghandler crandom function to avoid closure in constructor

[MAILPOET-2444]
This commit is contained in:
Rostislav Wolny
2019-10-08 11:26:39 +02:00
committed by Jack Kitterhing
parent f11774156c
commit d3345d35d0

View File

@ -19,19 +19,13 @@ class LogHandler extends AbstractProcessingHandler {
*/ */
const DAYS_TO_KEEP_LOGS = 30; const DAYS_TO_KEEP_LOGS = 30;
/** @var callable */ /** @var callable|null */
private $rand_function; private $rand_function;
public function __construct($level = \MailPoetVendor\Monolog\Logger::DEBUG, $bubble = \true, $rand_function = null) { public function __construct($level = \MailPoetVendor\Monolog\Logger::DEBUG, $bubble = \true, $rand_function = null) {
parent::__construct($level, $bubble); parent::__construct($level, $bubble);
if (!$rand_function) {
$this->rand_function = function($min, $max) {
return rand($min, $max);
};
} else {
$this->rand_function = $rand_function; $this->rand_function = $rand_function;
} }
}
protected function write(array $record) { protected function write(array $record) {
$model = $this->createNewLogModel(); $model = $this->createNewLogModel();
@ -53,8 +47,11 @@ class LogHandler extends AbstractProcessingHandler {
} }
private function getRandom() { private function getRandom() {
if ($this->rand_function) {
return call_user_func($this->rand_function, 0, 100); return call_user_func($this->rand_function, 0, 100);
} }
return rand(0, 100);
}
private function purgeOldLogs() { private function purgeOldLogs() {
Log::whereLt('created_at', Carbon::create()->subDays(self::DAYS_TO_KEEP_LOGS)->toDateTimeString()) Log::whereLt('created_at', Carbon::create()->subDays(self::DAYS_TO_KEEP_LOGS)->toDateTimeString())