File size: 995 Bytes
e816bb2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | import sys
from loguru import logger as _logger
_handler_id = None
def set_log_level(level: str | int) -> None:
"""
Set the log level for gemini_webapi. The default log level is "INFO".
Note: calling this function for the first time will globally remove all existing loguru
handlers. To avoid this, you may want to set logging behaviors directly with loguru.
Parameters
----------
level : `str | int`
Log level: "TRACE", "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"
Examples
--------
>>> from gemini_webapi import set_log_level
>>> set_log_level("DEBUG") # Show debug messages
>>> set_log_level("ERROR") # Only show errors
"""
global _handler_id
_logger.remove(_handler_id)
_handler_id = _logger.add(
sys.stderr,
level=level,
filter=lambda record: record["extra"].get("name") == "gemini_webapi",
)
logger = _logger.bind(name="gemini_webapi")
|