memcache在linux上安裝時並不支持顯示地配置服務日誌,咱們若是想要把memcache服務日誌保存到日誌文件中,則須要在啓動參數中進行配置。
linux
安裝好memcache後,咱們能夠經過-h命令查看memcached支持的參數:dom
[chenzhou@localhost ~]$ /usr/local/memcached/bin/memcached -h memcached
#其他的省略 oop
-v verbose (print errors/warnings while in event loop) 測試
-vv very verbose (also print client commands/reponses) 日誌
-vvv extremely verbose (also print internal state transitions) server
從上面能夠看到,啓動memcached時有3個參數是和日誌信息相關的:ci
其中-v表明打印普通的錯誤或者警告類型的日誌信息rem
-vv比-v打印的日誌更詳細,包含了客戶端命令和server端的響應信息terminal
-vvv則是最詳盡的,甚至包含了內部的狀態信息打印
你能夠根據你的實際須要來選擇對應的參數,我這裏使用-vv就OK了。
因爲咱們須要把日誌信息保存在文件中,而不是在控制檯輸出,而-vv等參數只能把日誌信息輸出在控制檯。因此咱們須要對-vv參數的輸出進行數據流重定向,關於重定向的知識在這裏就不細述了,有興趣的能夠查下資料瞭解一下。
綜上,啓動memcached的命令以下:
/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後默認的日誌信息以下
[chenzhou@localhost ~]$ tail -f /tmp/memcached.log
<31 send buffer was 110592, now 268435456
<30 server listening (udp)
<31 server listening (udp)
<30 server listening (udp)
<31 server listening (udp)
<30 server listening (udp)
<30 server listening (udp)
<31 server listening (udp)
<31 server listening (udp)
<32 new auto-negotiating client connection
terminal2:往memcached裏存入一個數據
[root@localhost bin]# telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
set name 0 60 5 chenzhou
如上所示:使用set命令存入key爲name value爲chenzhou
terminal1日誌記錄:
32: Client using the ascii protocol
<32 set name 0 60 5 chenzhou
這樣,咱們的配置就生效了。