日志记录🔗
Ariadne
没有使用内置 logging
模块, 而是使用 loguru
进行日志记录.
因为这并非重点, 所以只讲讲最重要的几个方法.
提示
你可以在 这里 找到所有方法.
logger.remove()
移除所有记录器. (logger.remove(0)
移除预配置的 (sys.stderr
) 记录器.)
logger.add(sink, ...)
添加一个记录器. sink
可以为 logging.Handler
, 也可以为一个字符串 (代表文件名). 当然更多参数可以参考 API 文档
.
如果你想要每日滚动日志, 并且自动带上日期之类的格式, 可这样做:
logger.add("{time: YYYY-MM-DD}.log", rotation="00:00", encoding="utf-8")
如果你想要在某个日志处理器 (handler) 中过滤某个模块(这里以 graia 的模块举例):
logger.add("{time: YYYY-MM-DD}.log", filter=lambda rec: rec["name"].split(".")[0] != "graia")
注意这样做会直接导致 Ariadne 的消息记录对这个 Handler 失效。
Ariadne 启动时使用的 launart 是一个单独的模块,而不是 graia.launart
。
这些都不是很重要, 放在这里只是顺口一提.