独家合作CubenceAI 中转平台立减 20%访问

系统设置

日志设置

日志设置页面允许管理员动态调整系统日志级别,实时控制日志输出的详细程度。这对于生产环境排查问题非常有用,无需重启服务即可切换日志级别。


访问路径

设置 > 日志(/settings/logs


功能概述

日志设置页面提供以下核心功能:

  • 动态日志级别调整:实时修改系统日志输出级别
  • 即时生效:调整后立即生效,无需重启服务
  • 级别预览:清晰展示当前级别与新选择级别的差异

日志级别说明

Claude Code Hub 使用 Pino 作为日志库,支持以下六个日志级别(从高到低):

级别说明适用场景
Fatal仅致命错误极高负载生产环境,最小化日志开销
Error错误信息高负载生产环境,仅关注错误
Warn警告 + 错误需要监控限流触发、熔断器状态等警告信息
Info关键业务事件 + 警告 + 错误推荐生产环境,记录供应商选择、Session 复用、价格同步等关键事件
Debug调试信息 + 所有级别推荐开发环境,包含详细调试信息
Trace极详细追踪 + 所有级别深度排查问题时使用,日志量极大

日志级别包含关系

日志级别具有包含关系。例如,选择 Info 级别时,会同时输出 InfoWarnErrorFatal 级别的日志。


使用方法

查看当前日志级别

进入日志设置页面后,系统会自动从服务端获取当前的日志级别,并在下拉选择器中显示。

修改日志级别

  1. 在「日志级别控制」区域,点击日志级别下拉选择器
  2. 从下拉列表中选择目标日志级别
  3. 系统会显示一个橙色提示框,说明当前级别与即将切换到的级别
  4. 确认无误后,点击「保存设置」按钮
  5. 保存成功后会收到提示,新的日志级别立即生效

生产环境建议

  • 生产环境推荐使用 Info 级别,可以记录关键业务事件而不会产生过多日志
  • 排查问题时可临时切换到 DebugTrace 级别,问题解决后记得调回
  • Trace 级别会产生大量日志,可能影响系统性能,请谨慎使用

环境变量配置

除了在界面上动态调整,还可以通过环境变量设置初始日志级别:

# 设置日志级别(可选值:fatal, error, warn, info, debug, trace)
LOG_LEVEL=info

优先级规则:

  1. 优先使用环境变量 LOG_LEVEL 的值
  2. 如果设置了 DEBUG_MODE=true,则使用 debug 级别(向后兼容)
  3. 开发环境(NODE_ENV=development)默认 debug
  4. 生产环境默认 info

动态调整与环境变量

通过界面动态调整的日志级别仅在当前进程有效。服务重启后会重新读取环境变量的配置。如需持久化日志级别设置,请修改环境变量。


日志输出格式

开发环境

开发环境下,日志使用 pino-pretty 格式化输出,具有以下特点:

  • 带颜色高亮
  • 时间戳转换为本地时间格式
  • 隐藏 pid 和 hostname 字段

生产环境

生产环境下,日志使用 JSON 格式输出,便于日志收集和分析工具处理:

{"level":"info","time":"2025-01-15T10:30:00.000Z","msg":"供应商选择完成","providerId":1,"providerName":"claude-primary"}

常见问题

Q: 修改日志级别需要重启服务吗?

不需要。日志级别修改后立即生效,系统会使用 Pino 的运行时级别切换功能,无需重启任何进程。

Q: 日志级别修改后为什么没有效果?

请检查以下几点:

  1. 确认保存成功(界面显示成功提示)
  2. 如果有多个服务实例,日志级别只会在当前实例生效(每个实例需单独设置)
  3. 检查日志输出是否被其他工具(如日志收集器)过滤

Q: 如何在容器环境中持久化日志级别?

通过环境变量设置:

# docker-compose.yml
services:
  app:
    environment:
      - LOG_LEVEL=info

Q: Debug 和 Trace 级别有什么区别?

  • Debug:输出调试信息,如请求参数、响应结果、中间计算过程等
  • Trace:输出极详细的追踪信息,包括每个函数调用、数据流转等细节

一般排查问题使用 Debug 级别即可,Trace 仅在需要深入追踪程序执行流程时使用。


相关文档

Previous
数据管理