0

非常に巨大なログ ファイル (2GB ~ 5GB) の内容をブラウザ ウィンドウに表示する必要があります。

コントローラーから JSP にログ ファイルを送信し、JSP からコンテンツを window.open に設定すると、ページを読み込むのが非常に面倒になります。

または、ログ ファイルの内容全体をサーバー側 (コントローラー) の StringBuilder に設定し、それを JSP に送り返す場合、すべてのログが StringBuilder に設定されるまでページを待機する必要があります。

そのため、各呼び出しでデータのチャンクを JSP に送信したいと考えています。

例: JSP からコントローラーへの最初の呼び出しでは、最初の 20 行を送り返します。JSP からコントローラーへの 2 回目の呼び出しでは、次の 20 行を送り返します。

または、これを行うことができる他の最良の方法はありますか?

これで私を助けてください...

4

1 に答える 1

0

おそらくやりたいことは、サイズと開始位置を取得するようにコントローラーをセットアップすることです

ページ 1 は http://www.site.com/_internal/logtail?characters=100000&start=0になります

ページ 2 は http://www.site.com/_internal/logtail?characters=100000&start=100000になります

その後、Java でランダム アクセス ファイルを使用して、N 番目の場所をシークし、N 文字を読み取ることができます。誰かが別のページを必要としている場合は、開始位置を増やして ajax を介して続行します

http://docs.oracle.com/javase/tutorial/essential/io/rafs.html

(補足: 私はよく _internal を使用して、保護された URL を示します。これは、ACL の [アクセス制御リスト] を使用してサイトに設定し、その URL を保護して、限られた人だけがアクセスできるようにするものです。ログファイルを一般の人に見られたくない. とにかく保護されたサイトであれば、心配する必要はないかもしれません)

于 2013-09-24T13:50:56.547 に答える