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")