diff --git a/litellm/__init__.py b/litellm/__init__.py index 56a2088e7e..026eeb8337 100644 --- a/litellm/__init__.py +++ b/litellm/__init__.py @@ -6,7 +6,13 @@ warnings.filterwarnings("ignore", message=".*conflict with protected namespace.* import threading, requests, os from typing import Callable, List, Optional, Dict, Union, Any, Literal from litellm.caching import Cache -from litellm._logging import set_verbose, _turn_on_debug, verbose_logger, json_logs +from litellm._logging import ( + set_verbose, + _turn_on_debug, + verbose_logger, + json_logs, + _turn_on_json, +) from litellm.proxy._types import ( KeyManagementSystem, KeyManagementSettings, diff --git a/litellm/_logging.py b/litellm/_logging.py index 0759ad51e9..a8121d9a88 100644 --- a/litellm/_logging.py +++ b/litellm/_logging.py @@ -39,6 +39,16 @@ verbose_proxy_logger.addHandler(handler) verbose_logger.addHandler(handler) +def _turn_on_json(): + handler = logging.StreamHandler() + handler.setLevel(logging.DEBUG) + handler.setFormatter(JsonFormatter()) + + verbose_router_logger.addHandler(handler) + verbose_proxy_logger.addHandler(handler) + verbose_logger.addHandler(handler) + + def _turn_on_debug(): verbose_logger.setLevel(level=logging.DEBUG) # set package log to debug verbose_router_logger.setLevel(level=logging.DEBUG) # set router logs to debug diff --git a/litellm/proxy/proxy_cli.py b/litellm/proxy/proxy_cli.py index 537f437364..0f62a98d3b 100644 --- a/litellm/proxy/proxy_cli.py +++ b/litellm/proxy/proxy_cli.py @@ -429,6 +429,19 @@ def run_server( proxy_config = ProxyConfig() _config = asyncio.run(proxy_config.get_config(config_file_path=config)) + ### LITELLM SETTINGS ### + litellm_settings = _config.get("litellm_settings", None) + if ( + litellm_settings is not None + and "json_logs" in litellm_settings + and litellm_settings["json_logs"] == True + ): + import litellm + + litellm.json_logs = True + + litellm._turn_on_json() + ### GENERAL SETTINGS ### general_settings = _config.get("general_settings", {}) if general_settings is None: general_settings = {}