memcache在linux上配置服务日志

memcache在linux上安装时并不支持显示地配置服务日志,咱们若是想要把memcache服务日志保存到日志文件中,则须要在启动参数中进行配置。
linux

安装好memcache后,咱们能够经过-h命令查看memcached支持的参数:dom

  1. [chenzhou@localhost ~]$ /usr/local/memcached/bin/memcached -h  memcached

  2. #其他的省略  oop

  3. -v            verbose (print errors/warnings while in event loop)  测试

  4. -vv           very verbose (also print client commands/reponses)  日志

  5. -vvv          extremely verbose (also print internal state transitions)  server

从上面能够看到,启动memcached时有3个参数是和日志信息相关的:ci

其中-v表明打印普通的错误或者警告类型的日志信息rem

-vv比-v打印的日志更详细,包含了客户端命令和server端的响应信息terminal

-vvv则是最详尽的,甚至包含了内部的状态信息打印

 

你能够根据你的实际须要来选择对应的参数,我这里使用-vv就OK了。

因为咱们须要把日志信息保存在文件中,而不是在控制台输出,而-vv等参数只能把日志信息输出在控制台。因此咱们须要对-vv参数的输出进行数据流重定向,关于重定向的知识在这里就不细述了,有兴趣的能够查下资料了解一下。

综上,启动memcached的命令以下:

  1. /usr/local/memcached/bin/memcached -d -m 2048 -p $1 -u root -vv >> /tmp/memcached.log 2>&1  

重点在最后的:-vv >> /tmp/memcached.log 2>&1

-vv >> /tmp/memcached.log:表明把-vv的输出重定向到/tmp/memcached.log 文件中

2>&1的意思是把错误日志也一块儿写入到该文件中

启动成功后咱们能够测试一下,首先起两个terminal,terminal1用来查看日志信息,terminal2进行client操做

terminal1:启动memcached后默认的日志信息以下

  1. [chenzhou@localhost ~]$ tail -f /tmp/memcached.log   

  2. <31 send buffer was 110592, now 268435456  

  3. <30 server listening (udp)  

  4. <31 server listening (udp)  

  5. <30 server listening (udp)  

  6. <31 server listening (udp)  

  7. <30 server listening (udp)  

  8. <30 server listening (udp)  

  9. <31 server listening (udp)  

  10. <31 server listening (udp)  

  11. <32 new auto-negotiating client connection  

terminal2:往memcached里存入一个数据

  1. [root@localhost bin]# telnet localhost 11211  

  2. Trying 127.0.0.1...  

  3. Connected to localhost.localdomain (127.0.0.1).  

  4. Escape character is '^]'.  

  5. set name 0 60 5 chenzhou  

如上所示:使用set命令存入key为name value为chenzhou

terminal1日志记录:

  1. 32: Client using the ascii protocol  

  2. <32 set name 0 60 5 chenzhou  

这样,咱们的配置就生效了。

相关文章
相关标签/搜索