Skip to content

Log Kit¤

LoggingUtility 中使用預設的 setup_logging 為開箱即用的 logger,顯示時間並且以顏色區分 log level。LogFormatter 預設格式為

[HH:MM:SS][LEVEL] Message

setup_logging 以外的方法都是子方法,全部湊在一起就變成 setup_logging

log_kit ¤

CLASS DESCRIPTION
LoggingUtility

用來設置日誌的工具類,支援自定義處理器和過濾設置

LoggingUtility ¤

用來設置日誌的工具類,支援自定義處理器和過濾設置

METHOD DESCRIPTION
setup_logging

簡單的建立記錄器的方法

default_formatter

返回預設格式化程式,並可選擇性地支持顏色

clear_handlers

從 logger 移除所有 handlers

create_console_handler

建立並且基本設定終端機 handler

create_file_handler

建立並且基本設定檔案 handler,使用無顏色的 formatter

suppress_library_logs

設定指定函式庫的日誌等級

setup_logging ¤

setup_logging(
    level: int,
    log_path: str | None = None,
    logger_name: str | None = None,
    *,
    enable_file_logging: bool = True,
    use_color: bool = True,
    suppress_libs: dict[str, int] | None = None,
    handlers: list[Handler] | None = None,
    formatter: Formatter | None = None,
    clear_handlers: bool = True,
) -> Logger

簡單的建立記錄器的方法

如果提供了 formatter,則 console_formatter 和 file_formatter 會同時套用該格式器。

PARAMETER DESCRIPTION
level

日誌等級。

TYPE: int

log_path

日誌檔案路徑。

TYPE: str | None DEFAULT: None

logger_name

記錄器名稱。

TYPE: str | None DEFAULT: None

enable_file_logging

是否啟用檔案日誌。

TYPE: bool DEFAULT: True

use_color

是否使用彩色輸出。

TYPE: bool DEFAULT: True

suppress_libs

要抑制日誌的庫。

TYPE: dict[str, int] | None DEFAULT: None

handlers

自定義處理器。

TYPE: list[Handler] | None DEFAULT: None

formatter

自定義格式器。

TYPE: Formatter | None DEFAULT: None

clear_handlers

是否清除現有處理器。

TYPE: bool DEFAULT: True

RETURNS DESCRIPTION
Logger

logging.Logger: Configured logger.

Usage Examples:

1. 基礎使用:
lazykit.setup_logging()

2. 客製化 formatter 和 handler:

my_formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
my_handler = logging.StreamHandler()
my_handler.setFormatter(my_formatter)
setup_logging(handlers=[my_handler], formatter=my_formatter)

3. 支援抑制指定模組的 logger,例如 httpx 很吵:
be_quiet={'httpx': logging.WARNING, 'httpcore': logging.WARNING}
setup_logging(suppress_libs=be_quiet)

default_formatter ¤

default_formatter(use_color: bool) -> Formatter

返回預設格式化程式,並可選擇性地支持顏色

clear_handlers ¤

clear_handlers(logger: Logger) -> None

從 logger 移除所有 handlers

create_console_handler ¤

create_console_handler(level: int, formatter: Formatter) -> Handler

建立並且基本設定終端機 handler

create_file_handler ¤

create_file_handler(level: int, formatter: Formatter | None, log_path: str) -> Handler

建立並且基本設定檔案 handler,使用無顏色的 formatter

suppress_library_logs ¤

suppress_library_logs(suppressed_libraries: dict[str, int]) -> None

設定指定函式庫的日誌等級