当前位置:首页 > 问答 > 正文

Redis日志怎么在Windows上搞定,配置那些事儿还挺重要

找到那个关键的配置文件

你得知道Redis装哪儿了,如果你是用安装包装的,它通常会在 C:\Program Files\Redis 或者你自定义的安装目录下,如果你下载的是微软开源技术小组(Microsoft Open Tech group)维护的那个老版本Zip包,那就是你解压的文件夹。

在这个文件夹里,你会看到一个名字叫 redis.windows.conf 的文件,这个文件就是Redis的所有开关和旋钮,日志配置只是其中的一部分,千万别动那个叫 redis.windows-service.conf 的文件,除非你明确知道它是给Redis作为Windows服务运行时专用的,我们一开始调试,先专注于主配置文件。

第二步:认识日志相关的几个核心配置项

用记事本或者任何你喜欢的文本编辑器(比如VSCode、Notepad++)打开 redis.windows.conf 文件,里面内容很多,全是英文注释和配置项,别慌,我们直接用搜索功能(Ctrl+F)找到下面这几个关键词:

  1. logfile:这是最重要的一个,它指定了日志文件要写在哪里、叫什么名字,默认情况下,这一行是被注释掉的(行首有个),样子大概是这样的: # logfile "" 这意味着Redis会把日志输出到标准输出,如果你在命令行里直接运行 redis-server.exe(不指定配置文件),你就能在黑窗口里看到滚动的日志,但这显然不是我们想要的,我们需要它写到文件里,方便以后查看。 你要做的就是:

    • 删掉行首的 号,取消注释。
    • 在双引号里填上你想要的完整路径和文件名。logfile "C:\Redis\logs\redis.log"
    • 关键点:你得确保你指定的这个路径(比如例子里的 C:\Redis\logs)是真实存在的!Redis不会自动帮你创建文件夹,如果文件夹不存在,它可能就默默失败不写日志了,你自己手动先去建好这个文件夹。
  2. loglevel:这个配置项决定了日志的详细程度,总共有四个级别:

    • debug:最详细,会记录大量的调试信息,除非你是在排查非常棘手的问题,否则不要用,日志文件会暴涨。
    • verbose:比 debug 稍微少一点,但也比较详细。
    • notice这个是默认的推荐级别,它会记录一些比较重要的信息,比如服务启动、关闭、内存警告等,适合生产环境。
    • warning:只记录警告和错误信息,是最简略的。 根据你的需要,把 loglevel notice 这一行前面的 去掉,或者改成你想要的级别,一般保持 notice 就挺好。
  3. syslog-enabled:这个是针对Unix/Linux系统上的syslog服务的,在Windows上基本用不着,保持它被注释的状态(# syslog-enabled no)就行了,不然可能会出问题。

第三步:让配置生效

光改完配置文件还不行,你得告诉Redis:“喂,你要按照我这个新的配置来跑!” 方法有两种:

  • 方法A:命令行指定配置文件启动(推荐用于测试) 打开命令提示符(CMD),切换到你的Redis安装目录,然后输入: redis-server.exe redis.windows.conf 这样,Redis就会严格按照你刚修改的 redis.windows.conf 文件里的设置来启动,现在你去你设置的 logfile 路径下看看,应该已经生成 redis.log 文件并且开始写日志了。

  • 方法B:如果Redis已安装为Windows服务 如果你之前已经通过命令把Redis安装成了Windows服务(通常是用 redis-server --service-install redis.windows-service.conf 这样的命令),那么你改 redis.windows.conf 是没用的,因为服务默认加载的是 redis.windows-service.conf 这个文件。 这时候你有两个选择:

    1. 去修改 redis.windows-service.conf 文件里的 logfileloglevel 配置项,步骤同上。
    2. 重启Redis服务,方法是:在“运行”里输入 services.msc 打开服务管理器,找到名为“Redis”的服务,右键选择“重启”。

第四步:查看日志和注意事项

配置成功后,日志就会乖乖地写到你指定的文件里了,你可以用文本编辑器定期打开查看,这里有几个小贴士:

  • 日志轮替:Redis不自带日志文件大小切割功能,这意味着如果你的服务器运行很久,redis.log 文件可能会变得非常大,在Linux上可以用logrotate工具,在Windows上,你可能需要写一个简单的PowerShell脚本,定期备份并清空日志文件,或者使用一些第三方日志管理工具来处理。
  • 磁盘空间:特别是如果你将 loglevel 设为 debug,一定要密切关注日志文件所在磁盘的空间,别让日志把硬盘撑爆了。
  • 权限问题:如果你把日志路径设在了像 C:\Program Files 这种需要管理员权限的目录,请确保你启动Redis服务时所用的账户有在该目录下创建和写入文件的权限,否则会失败,最简单的办法是专门创建一个如 D:\RedisLogs 这样的目录。

在Windows上搞定Redis日志,核心就三步:找到配置文件、修改 logfileloglevel 这两个关键项、用正确的方式重启Redis让配置生效,这事儿不难,但确实需要你动手配置一下,默认情况下它可不会帮你把日志存得好好的。

Redis日志怎么在Windows上搞定,配置那些事儿还挺重要