import logging
from ctranslate2 import _ext
_PYTHON_TO_CT2_LEVEL = {
logging.CRITICAL: _ext.LogLevel.Critical,
logging.ERROR: _ext.LogLevel.Error,
logging.WARNING: _ext.LogLevel.Warning,
logging.INFO: _ext.LogLevel.Info,
logging.DEBUG: _ext.LogLevel.Debug,
logging.NOTSET: _ext.LogLevel.Trace,
}
_CT2_TO_PYTHON_LEVEL = {v: k for k, v in _PYTHON_TO_CT2_LEVEL.items()}
def set_log_level(level: int):
ct2_level = _PYTHON_TO_CT2_LEVEL.get(level)
if ct2_level is None:
raise ValueError("Level %d is not a valid logging level" % level)
_ext.set_log_level(ct2_level)
def get_log_level() -> int:
ct2_level = _ext.get_log_level()
return _CT2_TO_PYTHON_LEVEL[ct2_level]