Source code for nv_ingest_api.util.logging.configuration
# SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES.
# All rights reserved.
# SPDX-License-Identifier: Apache-2.0
import logging
import sys
from enum import Enum
[docs]
class LogLevel(str, Enum):
DEFAULT = "DEFAULT"
DEBUG = "DEBUG"
INFO = "INFO"
WARNING = "WARNING"
ERROR = "ERROR"
CRITICAL = "CRITICAL"
[docs]
def configure_logging(level_name: str) -> None:
"""
Configures global logging.
Parameters
----------
level_name : str
The name of the logging level (e.g., "DEBUG", "INFO").
"""
numeric_level = getattr(logging, level_name.upper(), None)
if not isinstance(numeric_level, int):
raise ValueError(f"Invalid log level: {level_name}")
logging.basicConfig(
level=numeric_level,
format="%(asctime)s - %(levelname)s - %(name)s - %(message)s",
stream=sys.stdout,
force=True, # <- reconfigures even if basicConfig was called earlier (Python 3.8+)
)