From 696fefbf17491d52c9a5acfd71ff91eec415c0cc Mon Sep 17 00:00:00 2001 From: ehhuang Date: Mon, 6 Oct 2025 12:16:26 -0700 Subject: [PATCH 1/2] chore: logger category fix (#3706) # What does this PR do? WARNING 2025-10-06 12:01:45,137 root:266 uncategorized: Unknown logging category: tokenizer_utils. Falling back to default 'root' level: 20 ## Test Plan --- llama_stack/models/llama/tokenizer_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llama_stack/models/llama/tokenizer_utils.py b/llama_stack/models/llama/tokenizer_utils.py index 9830bb61b..05da410a1 100644 --- a/llama_stack/models/llama/tokenizer_utils.py +++ b/llama_stack/models/llama/tokenizer_utils.py @@ -9,7 +9,7 @@ from pathlib import Path from llama_stack.log import get_logger -logger = get_logger(__name__, "tokenizer_utils") +logger = get_logger(__name__, "models") def load_bpe_file(model_path: Path) -> dict[bytes, int]: From 8cb14eb84c66ceaedf276918e75afa12db2d23bc Mon Sep 17 00:00:00 2001 From: Eric Huang Date: Mon, 6 Oct 2025 14:42:34 -0700 Subject: [PATCH 2/2] chore: require valid logging category # What does this PR do? ## Test Plan --- llama_stack/core/conversations/conversations.py | 2 +- llama_stack/log.py | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/llama_stack/core/conversations/conversations.py b/llama_stack/core/conversations/conversations.py index bef138e69..612b2f68e 100644 --- a/llama_stack/core/conversations/conversations.py +++ b/llama_stack/core/conversations/conversations.py @@ -32,7 +32,7 @@ from llama_stack.providers.utils.sqlstore.sqlstore import ( sqlstore_impl, ) -logger = get_logger(name=__name__, category="openai::conversations") +logger = get_logger(name=__name__, category="openai_conversations") class ConversationServiceConfig(BaseModel): diff --git a/llama_stack/log.py b/llama_stack/log.py index 6f751b21d..6ccc200fc 100644 --- a/llama_stack/log.py +++ b/llama_stack/log.py @@ -31,12 +31,17 @@ CATEGORIES = [ "client", "telemetry", "openai_responses", + "openai_conversations", "testing", "providers", "models", "files", "vector_io", "tool_runtime", + "cli", + "post_training", + "scoring", + "tests", ] UNCATEGORIZED = "uncategorized" @@ -261,11 +266,10 @@ def get_logger( if root_category in _category_levels: log_level = _category_levels[root_category] else: + assert category == UNCATEGORIZED, ( + "Unknown logging category: {category}. To resolve, choose a valid category from the CATEGORIES list or add it to the CATEGORIES list." + ) log_level = _category_levels.get("root", DEFAULT_LOG_LEVEL) - if category != UNCATEGORIZED: - logging.warning( - f"Unknown logging category: {category}. Falling back to default 'root' level: {log_level}" - ) logger.setLevel(log_level) return logging.LoggerAdapter(logger, {"category": category})