From ea188cb948260a270161c3674fd91757896f3644 Mon Sep 17 00:00:00 2001 From: yanyongyu <42488585+yanyongyu@users.noreply.github.com> Date: Sun, 30 Jan 2022 14:11:27 +0800 Subject: [PATCH] :memo: add custom log guide --- website/docs/tutorial/custom-logger.md | 53 +++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/website/docs/tutorial/custom-logger.md b/website/docs/tutorial/custom-logger.md index ef963971..d9f291e5 100644 --- a/website/docs/tutorial/custom-logger.md +++ b/website/docs/tutorial/custom-logger.md @@ -5,4 +5,55 @@ description: 修改日志级别与输出 # 自定义日志 - +NoneBot 使用 [loguru](https://loguru.readthedocs.io/) 进行日志记录,并提供了一些内置的格式和过滤器等。 + +## 默认日志 + +NoneBot 启动时会添加一个默认的日志 handler。此 handler 将会将日志输出到 **stdout**,并且根据配置的日志级别进行过滤。 + +[默认格式](../api/log.md#default_format)): + +```python +default_format: str = ( + "{time:MM-DD HH:mm:ss} " + "[{level}] " + "{name} | " + "{message}" +) + +from nonebot.log import default_format +``` + +[默认过滤器](../api/log.md#default_filter): + +```python +from nonebot.log import default_filter +``` + +## 转移 logging 日志 + +NoneBot 提供了一个 logging handler 用于将日志输出转移至 loguru 处理。将 logging 的默认 handler 替换为 `LoguruHandler` 即可。 + +```python +from nonebot.log import LoguruHandler +``` + +## 自定义日志记录 + +如果需要移除 NoneBot 的默认日志 handler,可以在 `nonebot.init` 之前进行如下操作: + +```python +from nonebot.log import logger, logger_id + +logger.remove(logger_id) +``` + +如果需要添加自定义的日志 handler,可以在 `nonebot.init` 之前添加 handler,参考 [loguru 文档](https://loguru.readthedocs.io/)。 + +示例: + +```python +from nonebot.log import logger, default_format + +logger.add("error.log", level="ERROR", format=default_format, rotation="1 week") +```