Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 1.67 KB

File metadata and controls

66 lines (47 loc) · 1.67 KB

日志自定义

本文档缘起于 GitHub Discussions: discussions/195

下面是这个问题的解决方法:

1. 日志完全开启/关闭

使用代码:

from jmcomic import disable_jm_log 
disable_jm_log()

# 推荐使用 Python 原生的 logging 控制
import logging
logging.getLogger("jmcomic").setLevel(logging.WARNING) # 只显示警告以上的日志

使用配置:

log: false

2. 日志过滤,只保留特定topic

使用插件配置

log: true

plugins:
  after_init:
    - plugin: log_topic_filter # 日志topic过滤插件
      kwargs:
        whitelist: [ # 只保留api和html,这两个是Client发请求时会打的日志topic
          'api',
          'html',
        ]

3. 屏蔽插件的日志

给插件配置加上一个log配置项即可

plugins:
  after_init:
    - plugin: client_proxy # 提高移动端的请求效率的插件
      log: false # 插件自身不打印日志
      kwargs:
        proxy_client_key: photo_concurrent_fetcher_proxy
        whitelist: [ api, ]

4. 深度自定义:两类不同的拦截手段

根据你的需求复杂度,你可以选择以下方式:

  • 方式 A:操作 jm_logger (推荐 / 标准) 适用于:改变日志输出位置(如文件、监控、后端服务)、调整显示格式、自定义过滤。
  • 方式 B:接管 EXECUTOR_LOG (高级 / 深度定制) 适用于:需要完全重塑日志的分发逻辑,或者将日志直接桥接到不符合标准 logging 协议的第三方系统。

详细参考文档:模块自定义