Log 配置

pydantic settings qzone3tg.settings.LogConf

日志配置,对应配置文件中的 log 项。

Fields:
field conf: Annotated[Path, PathType(path_type=file)] | None = None

日志配置文件,指定此项将导致其他配置被忽略,因为您可以在 日志配置文件 中指定更详细更复杂的配置。

在 0.3.2 版本发生变更: 更改为 yml 格式而非配置文件格式 (*.ini, *.conf)

field datefmt: str | None = None

参见

time.strftime

field debug_status_interval: float = 0

用于开发人员检查程序状态。每隔多长时间以 debug 模式运行一次 /status 指令。小于等于0时不发送,默认为0。

Added in version 0.2.8.dev1.

field format: str = '%(asctime)s | %(levelname)s | %(name)s | %(message)s'

日志格式。

field level: str | None = 'INFO'

日志等级。NOTSET < DEBUG < INFO < WARNING < ERROR < FATAL.

field style: Literal['%', '{', '$'] = '%'

format 所使用的模板格式。可选值为 %, {, $. 分别对应 %(message), {message}, $message.

Added in version 0.3.2.

日志配置文件

Added in version 0.3.2.

支持使用专门的日志配置文件。日志配置文件使用 YAML 语法。参考: Configuration dictionary schema

以下配置以 DEBUG 等级输出到标准输出,以 ERROR 等级输出到 log/error.log, 日志文件按日刷新并标记。

formatters:
  simple:
    format: "{asctime} | {levelname} | {name} | {message}"
    style: "{"

handlers:
  file:
    class: logging.handlers.TimedRotatingFileHandler
    level: ERROR
    formatter: simple
    filename: log/error.log
    encoding: utf8
    delay: True
    when: D
    backupCount: 7
  console:
    class : logging.StreamHandler
    formatter: simple
    level: DEBUG
    stream: ext://sys.stdout

root:
  level: DEBUG
  handlers:
    - file
    - console

# filters:
# loggers:

提示

当您在 docker 容器中输出日志文件时,不要忘记把日志目录映射到宿主机上。