2016-07-12 8 views
0

私はもっと構造的な質問があります。私が持っているものSpring MVC AngularJSプッシュログ

私は、複数の非同期実行時間の長いバックエンドタスクを実行するために使用されたSpring MVCのを持っています。 UIのAngularJS。

それぞれのタスクは、自分のカスタムデータキャッシュ実装で独自のIDを持っています。それぞれのタスクはlog4j2ファイルアペンダによってログを書き出します。

をAngularJSフロントエンドでは、各プロセスのログを表示するには:私は何をしたいか

。 私は事をすることができると考えています:

各10秒角度IDを持つSpring MVCコントローラへの角度送信リクエスト。 Springコントローラがlog4j2ファイルを解析し、ログを返します。

しかし、何かが正しい方法ではないと私に言います。

は誰にでも最高の解決方法が分かります。

+0

タスクIDごとに別々のファイルを作成することもできます。 –

答えて

2

あなたのやりたいこととまったく同じではありません。これが最善の解決策であるかどうかはわかりません。

Spring Scheduling TasksとWebSocketを組み合わせることができます。

説明:

あなたAngularJSのフロントエンド(使用のWebSocket)

ドキュメントに(スケジュールされたタスクを使用して)情報をすべての10Sをお送りしますあなたのSpring MVCのバックエンド:

0

私は、よりよいログ解析のために弾力のある木箱ダッシュボードを使用する方が良いと思います。すべてのログを動的に弾力的に押して、それをキバナにマッピングしてください。それはほぼリアルタイムです。一度設定するとあなたの角度のjsのWebページでiframeとしてkibana Webページを使用します。

+0

私はAWS Cloud Watchを使用しています。 この場合、実行中のプロセスのログをユーザーに表示させたい場合は – user1935987

+0

はい、これはユーザー専用です。 Kibana Dashboardをエンドユーザーにのみ公開する必要があります。このダッシュボードは、メインのWebアプリケーションからすべてのクライアントにマージしてアクセスできます。 –

関連する問題