私の Apache Tomcat サーバーは、Java ベースのクライアント アプリケーションから定期的な更新を取得しています。現時点では、シナリオは 1 つのクライアントだけで、サーバーと通信しています。
クライアントからのメッセージをタイムスタンプ付きでサーバーに記録したいのですが、これを達成するのにどのようなフレームワークが役立ちますか?
2 に答える
編集:OPの目標は実際にはかなり不明確であり、いくつかの明確化の後、回答を変更しています。
よくわかりませんが、ロギング フレームワークがニーズに合っているかもしれません。もしそうなら、見てください:
- Log4J : 最も有名なロギング フレームワークで、広く使用されています。
- Java Logging aka
java.util.logging
: Log4J の置き換えに成功しませんでした。 - Logback : " Logback は、人気のある log4j プロジェクトの後継として意図されています。多くの個人の貢献者に加えて、log4j の創設者である Ceki Gülcü によって設計されました".
- SL4J : 「Java の単純なロギング ファサードは、さまざまなロギング フレームワーク (java.util.logging、log4j、logback など) の単純なファサードまたは抽象化として機能し、エンド ユーザーが展開時に目的のロギング フレームワークをプラグインできるようにする」.
そのうちの 1 つを選択します (Log4J または Logback を使用します)。
後で webapp から処理するためにメッセージを保存する (たとえば、いくつかのグラフ/チャートを含む web ページを生成する) には、データベースを使用するのが最善の方法です。タイムスタンプ列を持つ単純なテーブルとの間で読み書きするだけです。
Java、JDBC、永続性、接続プーリング、データソースなどにあまり詳しくない場合は、Springフレームワークを使用することをお勧めします。これにより、複雑さのほとんどが隠されます。データベース部分については、Spring ドキュメントのChapter 11. Data access using JDBCを参照してください。JdbcTemplate
または に特に注意しSimpleJdbcTemplate
てください。これにより、作業を完了することができます。
ログ エントリを受け入れるための特別な JSP ページを作成し、次のように呼び出します。
http://..... foo.jsp?l=the%20stuff%to%log (つまり、URL エンコード)
次に、「l」パラメーターを選択して、必要なことを行うだけです。初期実装では、サーブレット コンテキストで log(String s) メソッドを呼び出している可能性があります。