diff --git a/src/backend/base/langflow/logging/logger.py b/src/backend/base/langflow/logging/logger.py index 5ea90d392..080ccd1b3 100644 --- a/src/backend/base/langflow/logging/logger.py +++ b/src/backend/base/langflow/logging/logger.py @@ -32,16 +32,12 @@ class SizedLogBuffer: The buffer can be overwritten by an env variable LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE because the logger is initialized before the settings_service are loaded. """ - self.max: int = 0 - env_buffer_size = os.getenv("LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE", "0") - if env_buffer_size.isdigit(): - self.max = int(env_buffer_size) - self.buffer: deque = deque() self._max_readers = max_readers self._wlock = Lock() self._rsemaphore = Semaphore(max_readers) + self._max = 0 def get_write_lock(self) -> Lock: return self._wlock @@ -106,6 +102,19 @@ class SizedLogBuffer: finally: self._rsemaphore.release() + @property + def max(self) -> int: + # Get it dynamically to allow for env variable changes + if self._max == 0: + env_buffer_size = os.getenv("LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE", "0") + if env_buffer_size.isdigit(): + self._max = int(env_buffer_size) + return self._max + + @max.setter + def max(self, value: int) -> None: + self._max = value + def enabled(self) -> bool: return self.max > 0