Skip to content

日志管理

本页面介绍应用的日志管理和查看方法。

日志文件位置

Docker 环境

  • 容器内路径:/maindata/log/
  • 宿主机路径:./logs/

开发环境

  • 前端日志:logs/frontend.log
  • 后端日志:logs/backend.log
  • 错误日志:logs/error.log

日志查看方式

Web 界面查看(推荐)

v2.2.6 及以上版本支持在 Web 控制台直接查看系统日志:

  1. 登录管理后台
  2. 点击左侧菜单「系统日志」
  3. 支持按日志级别(INFO/ERROR/DEBUG)过滤、关键词搜索、暂停/自动滚动以及下载日志文件

Docker 容器查看

bash
# 查看容器日志
docker logs -f ostrm

# 进入容器查看日志文件
docker exec -it ostrm tail -f /maindata/log/backend.log

本地文件查看

bash
# 查看后端日志
tail -f logs/backend.log

# 查看前端日志
tail -f logs/frontend.log

# 查看错误日志
tail -f logs/error.log

日志级别配置

在系统设置中可以配置日志级别:

  • DEBUG:详细调试信息
  • INFO:一般信息(推荐)
  • WARN:警告信息
  • ERROR:错误信息

处理器链日志

系统在执行任务时,各处理器会输出详细的日志信息:

文件处理器执行顺序

Order处理器日志标记
10FileDiscoveryHandler[文件发现]
20FileFilterHandler[文件过滤]
30StrmGenerationHandler[STRM生成]
40NfoDownloadHandler[NFO下载]
41ImageDownloadHandler[图片下载]
42SubtitleCopyHandler[字幕复制]
50MediaScrapingHandler[媒体刮削]
60OrphanCleanupHandler[清理孤立]

字幕下载日志示例

[字幕复制] 开始处理: 电影名称.mp4
[字幕复制] 找到 2 个字幕文件: 电影名称.srt, 电影名称.chi.ass
[字幕复制] 从 OpenList 下载字幕文件成功: 电影名称.srt
[字幕复制] 从 OpenList 下载字幕文件成功: 电影名称.chi.ass
[字幕复制] 成功复制 2 个字幕文件

图片下载日志示例

[图片下载] 开始处理: 电影名称.mp4
[图片下载] 本地海报文件已存在,跳过: 电影名称-poster.jpg
[图片下载] 从 OpenList 下载背景图文件成功: 电影名称-fanart.jpg
[图片下载] 本地缩略图文件已存在,跳过: 电影名称-thumb.jpg
[图片下载] 成功下载 1 个图片文件
[图片下载] 发现 3 个任意命名的图片文件
[图片下载] 从 OpenList 下载任意命名图片文件成功: poster.jpg

NFO 下载日志示例

[NFO下载] 开始处理: 电影名称.mp4
[NFO下载] 本地 NFO 文件已存在,跳过: 电影名称.nfo
[NFO下载] 从 OpenList 下载 NFO 文件成功: 电影名称.nfo
[NFO下载] 处理电视剧共用文件: tvshow.nfo, poster.jpg, fanart.jpg

媒体刮削日志示例

[媒体刮削] 开始刮削: 电影名称.mp4
[媒体刮削] 使用 TMDB API 刮削
[媒体刮削] 刮削成功: 电影名称 (2024) - 海报、背景图、NFO

统计日志

任务执行完成后,系统会输出统计信息:

任务执行完成 - 统计信息:
- 处理文件: 100
- 成功: 95
- 跳过: 3
- 失败: 2
- STRM 文件: 95
- NFO 文件: 90
- 海报图片: 88
- 背景图片: 85
- 字幕文件: 75

日志清理

系统会自动清理过期的日志文件,默认保留最近 7 天的日志。您也可以在系统设置中配置保留天数。

常见问题

Q: 如何找到特定时间段的日志?

A: 使用 grep 命令结合时间过滤:

bash
grep "2025-11-07" logs/backend.log

Q: 日志文件太大怎么办?

A: 系统会自动轮转和清理日志,也可以手动删除旧日志文件。

Q: 如何启用更详细的调试日志?

A: 在系统设置中将日志级别改为 DEBUG

Q: 字幕下载日志显示「没有找到字幕文件」?

A: 检查以下几点:

  1. 确认 OpenList 目录中是否存在字幕文件
  2. 检查字幕格式是否支持(.srt、.ass、.vtt、.ssa、.sub、.idx)
  3. 确认「保留字幕文件」选项已开启
  4. 查看日志中是否有网络错误

Q: 图片下载日志显示「本地和 OpenList 都不存在」?

A: 这是正常行为,说明需要通过 TMDB 刮削获取图片:

  1. 确认 TMDB API 密钥已配置
  2. 检查网络连接是否正常
  3. 如果想使用本地图片,确认文件已放在正确位置

Q: 如何根据处理器类型过滤日志?

A: 使用 grep 命令过滤:

bash
# 只看字幕相关日志
grep "字幕" logs/backend.log

# 只看图片相关日志
grep "图片" logs/backend.log

# 只看 NFO 相关日志
grep "NFO" logs/backend.log