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  

這樣,咱們的配置就生效了。

相關文章
相關標籤/搜索