melobot.log¶
内置日志部件¶
- class melobot.log.Logger[源代码]¶
基类:
Logger
,GenericLogger
melobot 内置日志器
推荐使用的日志器。实现了
GenericLogger
接口,因此可以用于 melobot 内部日志记录。debug, info, warning, error, critical, exception 等接口与
logging.Logger
用法完全一致- __init__(name: str = 'melobot', /, level: LogLevel = LogLevel.INFO, file_level: LogLevel = LogLevel.DEBUG, to_console: bool = True, to_dir: str | None = None, add_tag: bool = False, legacy: bool = False, yellow_warn: bool = True, red_error: bool = True, two_stream: bool = False) None [源代码]¶
初始化日志器
- 参数:
name (str) -- 日志器的名称(唯一)
level (LogLevel) -- 日志等级
file_level (LogLevel) -- 日志文件的日志等级
to_console (bool) -- 是否输出到控制台
to_dir (str | None) -- 保存日志文件的目录,为空则不保存文件
add_tag (bool) -- 记录日志时是否标识日志器名称
legacy (bool) -- 记录日志时是否使用传统样式(不对日志内容进行自动高亮,而是使用日志等级的五色)
yellow_warn (bool) -- 记录 LogLevel.WARN 级别时,是否将日志内容着色为黄色。 legacy 选项为 True 时此参数无效
red_error (bool) -- 记录 LogLevel.ERROR 及以上级别时,是否将日志内容着色为红色。 legacy 选项为 True 时此参数无效
two_stream (bool) -- 当使用记录到文件功能时,是否分离“常规日志”和“错误日志”到不同的文件
- 返回类型:
None
- set_level(level: LogLevel) None [源代码]¶
设置日志等级
日志等级自动应用于包含的所有 handler(但输出日志到文件的 handler 除外)
- 参数:
level (LogLevel) -- 日志等级
- 返回类型:
None
- class melobot.log.LogLevel[源代码]¶
-
日志等级枚举
- CRITICAL = 50¶
- DEBUG = 10¶
- ERROR = 40¶
- INFO = 20¶
- WARNING = 30¶
- melobot.log.get_logger() GenericLogger [源代码]¶
获取当前上下文中日志器
- 返回:
日志器
- 返回类型:
通用日志部件与通用修补¶
- class melobot.log.GenericLogger[源代码]¶
基类:
BetterABC
通用日志器抽象类
任何日志器实现本类接口,或通过
logger_patch()
修补后, 即可兼容 melobot 内部所有日志操作(也就可以用于 bot 初始化Bot.__init__()
)
- melobot.log.logger_patch(logger: Any, lazy_meth: LazyLogMethod) GenericLogger [源代码]¶
对指定的日志器进行修补操作,使其可以被用于 melobot 内部的日志记录
- 参数:
logger (Any) -- 任意已经实现 debug, info, warning, error, critical, exception 接口的日志器
lazy_meth (LazyLogMethod) -- 修补方法
- 返回类型:
- class melobot.log.StandardPatch[源代码]¶
-
用于修补 logging.Logger 的日志修补