太阳不下山 发表于 2021-7-8 10:50:10

通过redis源码,看redis日志格式

  今天看到redis集群的日志前面有15:M,18:C,表示不懂。

查看3.2.6 redis源码发现,在redis\redis-3.2.6\redis-3.2.6\src\server.c中serverLogRaw中,在打印日志时,如果是哨兵模式,role_char为C,如果没master节点,则为M,slave节点为S

记录日志代码是下面这行。15:M中15表示该节点的pid,M表示该节点为master。18:C表示,该节点的从节点(slave)正在主从复制。18表示什么,我去查了slave的pid,并不是18
fprintf(fp,"%d:%c %s %c %s\n",
            (int)getpid(),role_char, buf,c,msg);
  可以进入容器中查看,该master节点的pid就是15

  但是去查看slave实例的pid,发现也是15,并不是18:


  
文档来源:51CTO技术博客https://blog.51cto.com/coderaction/3000362
页: [1]
查看完整版本: 通过redis源码,看redis日志格式