作り方は、人それぞれな気もしますが。
私がとった方法ですと、チャット自体をファイル保存&vectorを使用して保存しました。
それでvectorに保存した分からクライアントで表示させます。また、サイズを表示分以上に設定しておき、設定以上になった場合は一番古いのから削除。
こうすることで、最新のX行のデータを保持します。
これで後は、ログを表示させる位置を決定します。
10行なら、10個分のデータを表示し、さらにその基準点を上下キーにより移動させる。これでチャットログの表示範囲を変更できないでしょうか。
なんか勘違いしてる気がしてきました。。
上下キーで過去ログを検索(移動)ということでしょうか?
それなら、過去ログは日付かなにかのファイル名にしておき、それを一覧表示。
それをクリックなどで選択し、そこから上下キーで選択変更できるようにしてはいかがでしょうか?