From 2ac12cac22dc83e58ea6c32a573dc8feae2e7a95 Mon Sep 17 00:00:00 2001 From: The Mavik <179817126+themavik@users.noreply.github.com> Date: Tue, 10 Feb 2026 13:01:27 +0530 Subject: [PATCH] fix(proxy): prevent is_premium() debug log spam on every request MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #17953 The `is_premium()` method logs two DEBUG messages on every call. Since this method is called on every proxy request, the logs get spammed with repeated "ENTERING IS_PREMIUM" and "Updated license_str" messages, making it very difficult to debug actual issues. Add a `_premium_check_logged` flag so that these debug messages are only emitted once (on the first call). The license check itself continues to run on every call — only the verbose logging is suppressed after the first invocation. --- litellm/proxy/auth/litellm_license.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/litellm/proxy/auth/litellm_license.py b/litellm/proxy/auth/litellm_license.py index 6a8df823bc..b81109b77c 100644 --- a/litellm/proxy/auth/litellm_license.py +++ b/litellm/proxy/auth/litellm_license.py @@ -28,6 +28,7 @@ class LicenseCheck: self.license_str = os.getenv("LITELLM_LICENSE", None) verbose_proxy_logger.debug("License Str value - {}".format(self.license_str)) self.http_handler = HTTPHandler(timeout=NON_LLM_CONNECTION_TIMEOUT) + self._premium_check_logged = False self.public_key = None self.read_public_key() self.airgapped_license_data: Optional["EnterpriseLicenseData"] = None @@ -99,20 +100,23 @@ class LicenseCheck: 2. _verify: checks if license is valid calling litellm API. This is the old way we were generating/validating license """ try: - verbose_proxy_logger.debug( - "litellm.proxy.auth.litellm_license.py::is_premium() - ENTERING 'IS_PREMIUM' - LiteLLM License={}".format( - self.license_str + if not self._premium_check_logged: + verbose_proxy_logger.debug( + "litellm.proxy.auth.litellm_license.py::is_premium() - ENTERING 'IS_PREMIUM' - LiteLLM License={}".format( + self.license_str + ) ) - ) if self.license_str is None: self.license_str = os.getenv("LITELLM_LICENSE", None) - verbose_proxy_logger.debug( - "litellm.proxy.auth.litellm_license.py::is_premium() - Updated 'self.license_str' - {}".format( - self.license_str + if not self._premium_check_logged: + verbose_proxy_logger.debug( + "litellm.proxy.auth.litellm_license.py::is_premium() - Updated 'self.license_str' - {}".format( + self.license_str + ) ) - ) + self._premium_check_logged = True if self.license_str is None: return False