subapi / gemini_webapi /utils /logger.py
habulaj's picture
Upload 49 files
e816bb2 verified
raw
history blame contribute delete
995 Bytes
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")