linuxでのMemcachedログの構成


memcacheはlinuxにインストールするときに表示されるサービスログの構成をサポートしていません.memcacheサービスログをログファイルに保存するには、起動パラメータで構成する必要があります.
 
memcacheをインストールすると、-hコマンドでmemcachedがサポートするパラメータを表示できます.
[chenzhou@localhost ~]$ /usr/local/memcached/bin/memcached -h
#     
-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)

上から、memcachedを起動するときに3つのパラメータがログ情報に関連していることがわかります.
ここで-vは、通常のエラーまたは警告タイプを印刷するログ情報を表します.
-vvは-vが印刷したログよりも詳細で、クライアントコマンドとserver側の応答情報が含まれています.
-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エラーログも一緒にファイルに書き込むという意味です
 
起動に成功したら、まず2つのterminalを開始し、terminal 1はログ情報を表示し、terminal 2はclient操作を行います.
terminal 1: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

terminal 2: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であることを格納します.
terminal 1ログ:
32: Client using the ascii protocol
<32 set name 0 60 5 chenzhou

これにより、構成が有効になります.