Screen のログ機能とログファイルの閲覧
参考:http://d.hatena.ne.jp/yanma_4/20080330/1206803656
screen のログ機能は2種類ある。
コマンド | 意味 |
---|---|
^Z H | ログ保存のON/OFFトグル |
^Z h | これまでのハードコピーを保存する |
^Z : hardcopy filename | これまでのハードコピーをfilenameに保存する |
^Z H は制御文字も込みで入出力を記録する。
^Z h はスクリーンに表示された状態を記録する。
で、常にログを取るためには .screenrc に以下の2行を追加
#自動ログ保存 logfile "/home/username/log/screen-%Y%m%d-%n.log" deflog on
これで、日付&ウィンドウ毎にログが取られるはず。。。
ついでに bash のPS1をいじくって、時間を表示するようにした。
これで、あとからログを参照とき実行した時間も一発でわかる。
PS1="\n\[\e[0;35m\]\u@\h\[\e[01;31m\](\t)\[\e[00m\]:\[\e[0;33m\]\w\[\e[00m\]\n\$ "
これで、以下のように表示される(実際は色つき)。
koba@javachallenge(01:59:21):~ $
ただ、制御文字も記録するので、普通に less で見るととても見辛い。
いろいろ調べると、以下のように-r(-R?)オプションを付けるといいっぽい。
less -R log/screen-20110913-0.log
ーr と ーR の違いはいまいち分からないけれど、ーr だと制御文字を処理するため表示されず、ーR だと制御文字を処理せず表示する感じっぽい。
コピペで他の人に見せるなら ーr のほうがいいのかな。