diff --git a/litellm/litellm_core_utils/litellm_logging.py b/litellm/litellm_core_utils/litellm_logging.py index c3a8898f384..b886dc28c6b 100644 --- a/litellm/litellm_core_utils/litellm_logging.py +++ b/litellm/litellm_core_utils/litellm_logging.py @@ -406,45 +406,30 @@ class Logging(LiteLLMLoggingBaseClass): If a callback is in litellm._known_custom_logger_compatible_callbacks, it needs to be intialized and added to the respective dynamic_* callback list. """ - # Early exit if all callbacks are None (common case) - if ( - self.dynamic_input_callbacks is None - and self.dynamic_success_callbacks is None - and self.dynamic_async_success_callbacks is None - and self.dynamic_failure_callbacks is None - and self.dynamic_async_failure_callbacks is None - ): - return + # Process input callbacks + self.dynamic_input_callbacks = self._process_dynamic_callback_list( + self.dynamic_input_callbacks, dynamic_callbacks_type="input" + ) - # Process input callbacks (standalone - no dependencies) - if self.dynamic_input_callbacks is not None: - self.dynamic_input_callbacks = self._process_dynamic_callback_list( - self.dynamic_input_callbacks, dynamic_callbacks_type="input" - ) + # Process failure callbacks + self.dynamic_failure_callbacks = self._process_dynamic_callback_list( + self.dynamic_failure_callbacks, dynamic_callbacks_type="failure" + ) - # Process success BEFORE async_success (success processing adds to async_success) - if self.dynamic_success_callbacks is not None: - self.dynamic_success_callbacks = self._process_dynamic_callback_list( - self.dynamic_success_callbacks, dynamic_callbacks_type="success" - ) + # Process async failure callbacks + self.dynamic_async_failure_callbacks = self._process_dynamic_callback_list( + self.dynamic_async_failure_callbacks, dynamic_callbacks_type="async_failure" + ) - # Process async_success AFTER success - if self.dynamic_async_success_callbacks is not None: - self.dynamic_async_success_callbacks = self._process_dynamic_callback_list( - self.dynamic_async_success_callbacks, dynamic_callbacks_type="async_success" - ) + # Process success callbacks + self.dynamic_success_callbacks = self._process_dynamic_callback_list( + self.dynamic_success_callbacks, dynamic_callbacks_type="success" + ) - # Process failure BEFORE async_failure (failure processing adds to async_failure) - if self.dynamic_failure_callbacks is not None: - self.dynamic_failure_callbacks = self._process_dynamic_callback_list( - self.dynamic_failure_callbacks, dynamic_callbacks_type="failure" - ) - - # Process async_failure AFTER failure - if self.dynamic_async_failure_callbacks is not None: - self.dynamic_async_failure_callbacks = self._process_dynamic_callback_list( - self.dynamic_async_failure_callbacks, dynamic_callbacks_type="async_failure" - ) + # Process async success callbacks + self.dynamic_async_success_callbacks = self._process_dynamic_callback_list( + self.dynamic_async_success_callbacks, dynamic_callbacks_type="async_success" + ) def _process_dynamic_callback_list( self,