33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
import os
|
|
import warnings
|
|
import logging
|
|
|
|
from . import defines
|
|
|
|
def setup_logging(level=defines.logging_level) -> logging.Logger:
|
|
os.environ["TORCH_CPP_LOG_LEVEL"] = "ERROR"
|
|
warnings.filterwarnings("ignore", message="Overriding a previously registered kernel")
|
|
warnings.filterwarnings("ignore", message="Warning only once for all operators")
|
|
warnings.filterwarnings("ignore", message="Couldn't find ffmpeg or avconv")
|
|
warnings.filterwarnings("ignore", message="'force_all_finite' was renamed to")
|
|
warnings.filterwarnings("ignore", message="n_jobs value 1 overridden")
|
|
|
|
numeric_level = getattr(logging, level.upper(), None)
|
|
if not isinstance(numeric_level, int):
|
|
raise ValueError(f"Invalid log level: {level}")
|
|
|
|
logging.basicConfig(
|
|
level=numeric_level,
|
|
format="%(asctime)s - %(levelname)s - %(filename)s:%(lineno)d - %(message)s",
|
|
datefmt="%Y-%m-%d %H:%M:%S",
|
|
force=True
|
|
)
|
|
|
|
# Now reduce verbosity for FastAPI, Uvicorn, Starlette
|
|
for noisy_logger in ("uvicorn", "uvicorn.error", "uvicorn.access", "fastapi", "starlette"):
|
|
logging.getLogger(noisy_logger).setLevel(logging.WARNING)
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
return logger
|