Redis 的日志文件在哪里?如何查看?
Redis 日志位置由配置文件 logfile 指令决定:默认可能为空(输出到 stdout)或 /var/log/redis/redis-server.log。容器环境用 docker logs。本文给出定位与修改方法。
看配置文件里的 logfile 指令——发行版可能使用 /var/log/redis/redis-server.log,实际路径应以配置和服务定义为准;若 logfile ""(空)且前台运行则输出到 stdout,systemd/Docker 是否收集取决于服务和驱动配置;daemonize 模式下 stdout 通常重定向到 /dev/null。
定位日志
# 查当前配置
redis-cli CONFIG GET logfile
# 常见位置
tail -f /var/log/redis/redis-server.log
journalctl -u redis-server -f # systemd
docker logs -f redis-container # Docker
修改日志路径
# redis.conf
logfile /var/log/redis/redis.log
# debug / verbose / notice / warning
loglevel notice
修改所用配置文件并确认目录写权限后重启。Redis 8.2 的 logfile 是不可运行时修改的配置,不能用 CONFIG SET logfile;loglevel 可通过 CONFIG SET loglevel notice 动态调整,但持久化还需更新配置或在支持条件下 CONFIG REWRITE。
慢日志(另一回事)
Redis 的"slow log"在内存里,不是文件:
redis-cli SLOWLOG GET 10 # 最近 10 条慢查询
常见问题(FAQ)
Q:日志文件是空的? 检查 loglevel 是否过高,以及磁盘空间与目录写权限。
Q:容器里改了 redis.conf 不生效? 确认容器启动命令挂载并指定了该配置文件。