journalctl是CentOS上查看systemd管理服务的标准工具,适用于通过包管理器(如dnf/yum)安装的Jellyfin。常用命令:
sudo journalctl -u jellyfin(替换为实际服务名,若不确定可通过systemctl list-units | grep jellyfin确认);sudo journalctl -u jellyfin -f(按Ctrl+C停止);sudo journalctl -u jellyfin --since "2025-10-01" --until "2025-10-17"(支持日期、时间范围,如--since "1 hour ago");sudo journalctl -b -u jellyfin(-b表示当前启动周期);sudo journalctl -u jellyfin -p err(-p指定优先级,err为错误级别)。Jellyfin的应用程序日志默认存储在/var/log/jellyfin/目录下(若未修改配置),主要文件为jellyfin.log。常用命令:
sudo cat /var/log/jellyfin/jellyfin.log(适合快速查看全部内容);sudo tail -f /var/log/jellyfin/jellyfin.log(实时显示新增日志,适合监控实时问题);sudo grep -i "error" /var/log/jellyfin/jellyfin.log(-i忽略大小写,可替换为warning、info等关键词);sudo awk '/error/ {count++} END {print "Total errors:", count}' /var/log/jellyfin/jellyfin.log(快速统计错误日志数量)。若Jellyfin通过Docker容器运行,需使用Docker命令查看容器内日志:
docker logs <container_id_or_name>(<container_id_or_name>可通过docker ps获取);docker logs -f <container_id_or_name>(持续跟踪日志更新);docker exec -it <container_id_or_name> tail -f /logs/jellyfin.log(需确认容器内日志路径,通常为/logs/)。Jellyfin的日志轮转配置文件位于/etc/logrotate.d/jellyfin,默认配置通常包含每日轮转、保留7天、压缩旧日志。可通过编辑该文件调整策略:
/var/log/jellyfin/jellyfin.log { daily # 每日轮转 rotate 7 # 保留最近7个日志文件 compress # 压缩旧日志(节省空间) missingok # 若日志文件不存在也不报错 notifempty # 若日志为空则不轮转 } sudo logrotate -vf /etc/logrotate.d/jellyfin(-v显示详细过程,-f强制轮转);sudo systemctl restart systemd-journald(使配置生效)。sudo grep -i "error\|fail\|exception" /var/log/jellyfin/jellyfin.log(同时过滤多个关键词,如error、fail、exception);sudo grep -i "playback\|stream" /var/log/jellyfin/jellyfin.log(查看播放相关的日志,定位卡顿、无法播放等问题);sudo grep "2025-10-17" /var/log/jellyfin/jellyfin.log(提取某一天的日志,便于针对性分析)。/etc/jellyfin/jellyfin.conf)中的Log.File设置(如<Log File>["是", "/logs/jellyfin.log", "/var/log/jellyfin/jellyfin.log"]</Log>);sudo),避免权限不足导致无法访问;/var/log/jellyfin/目录),防止数据丢失。