@@ -62,7 +62,8 @@ def get_logger(file: str) -> logging.Logger:
6262
6363@lru_cache
6464def setup_logging () -> dict [t .Any , t .Any ]:
65- handler = "console"
65+ """Create logging configuration."""
66+ handler = "default"
6667 log_level = resolve_log_level ()
6768 if sys .stderr .isatty () and not os .environ .get (
6869 LIGHTSPEED_STACK_DISABLE_RICH_HANDLER_ENV_VAR
@@ -72,26 +73,12 @@ def setup_logging() -> dict[t.Any, t.Any]:
7273 logging_conf = {
7374 "version" : 1 ,
7475 "disable_existing_loggers" : False ,
75- "formatters" : {
76- # RichHandler needs format="%(message)s" to prevent double-formatting by the root Formatter.
77- "rich" : {
78- "format" : "RICH %(message)s" ,
79- "datefmt" : "[%X]" ,
80- },
81- "console" : {
82- "format" : DEFAULT_LOG_FORMAT ,
83- "datefmt" : "%Y-%m-%d %H:%M:%S" ,
84- },
85- },
8676 "handlers" : {
87- "console" : {
88- "formatter" : "console" ,
89- "class" : "logging.StreamHandler" ,
90- "stream" : "ext://sys.stderr" ,
91- },
9277 "rich" : {
93- "formatter" : "rich" ,
94- "class" : "rich.logging.RichHandler" ,
78+ "()" : "rich.logging.RichHandler" ,
79+ "show_time" : True ,
80+ "log_time_format" : "%Y-%m-%d %H:%M:%S.%f" ,
81+ "level" : log_level ,
9582 },
9683 },
9784 "loggers" : {
@@ -100,16 +87,27 @@ def setup_logging() -> dict[t.Any, t.Any]:
10087 "level" : log_level ,
10188 "propagate" : False ,
10289 },
90+ "llama_stack_client" : {
91+ "handlers" : [handler ],
92+ "level" : log_level ,
93+ "propagate" : False ,
94+ },
10395 },
10496 }
10597
10698 merged_config = deep_update (uvicorn .config .LOGGING_CONFIG , logging_conf )
107- merged_config ["formatters" ]["access" ]["fmt" ] = (
108- '%(asctime)s.%(msecs)03d %(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s'
109- )
110- merged_config ["formatters" ]["default" ]["fmt" ] = (
111- "%(asctime)s.%(msecs)03d %(levelprefix)s%(message)s"
112- )
99+
100+ if handler == "rich" :
101+ merged_config ["loggers" ]["uvicorn" ]["handlers" ] = [handler ]
102+ merged_config ["loggers" ]["uvicorn.access" ]["handlers" ] = [handler ]
103+ else :
104+ merged_config ["formatters" ]["access" ]["fmt" ] = (
105+ "%(asctime)s.%(msecs)03d %(levelprefix)s "
106+ '%(client_addr)s - "%(request_line)s" %(status_code)s'
107+ )
108+ merged_config ["formatters" ]["default" ]["fmt" ] = DEFAULT_LOG_FORMAT
109+ merged_config ["formatters" ]["default" ]["datefmt" ] = "%Y-%m-%d %H:%M"
110+
113111 logging .config .dictConfig (merged_config )
114112
115113 return merged_config
0 commit comments