get($settingsKey); if ($lastLogged) { $lastTimestamp = strtotime($lastLogged); if ($lastTimestamp !== false && (time() - $lastTimestamp) < $intervalSeconds) { $shouldLog = false; } } } catch (\Throwable $e) { $settings = null; } if ($shouldLog) { $logger->log($level, $message, $context); if ($settings) { $settings->set($settingsKey, date('Y-m-d H:i:s')); } } } }