diff --git a/litellm/integrations/newrelic/newrelic.py b/litellm/integrations/newrelic/newrelic.py index 2117ea48604..e0e61e9cacd 100644 --- a/litellm/integrations/newrelic/newrelic.py +++ b/litellm/integrations/newrelic/newrelic.py @@ -117,6 +117,12 @@ class NewRelicLogger(CustomLogger): "Integration will be disabled." ) self.enabled = False + except Exception as e: + verbose_logger.error( + f"Failed to initialize New Relic agent: {e}. " + "Integration will be disabled." + ) + self.enabled = False def _get_newrelic_params(self) -> Dict: """ diff --git a/tests/test_litellm/integrations/newrelic/test_newrelic.py b/tests/test_litellm/integrations/newrelic/test_newrelic.py index d2dce43bd8a..166fec98b93 100644 --- a/tests/test_litellm/integrations/newrelic/test_newrelic.py +++ b/tests/test_litellm/integrations/newrelic/test_newrelic.py @@ -126,6 +126,16 @@ class TestNewRelicLoggerInit: logger = NewRelicLogger() assert logger.enabled is False + def test_disabled_on_agent_startup_error(self): + with patch.object( + _mock_newrelic_agent, + "register_application", + side_effect=RuntimeError("agent startup failed"), + ): + with patch.dict(os.environ, NR_ENV): + logger = NewRelicLogger() + assert logger.enabled is False + def test_record_content_default_true(self): logger = make_logger() assert logger.record_content is True