web-dev-qa-db-ja.com

JettyHTTPロギング

JettyにすべてのHTTPリクエスト(本文とともに)とレスポンスをログに記録してもらいたいのですが。これはJettyによってネイティブにサポートされていますか?理想的には、既存のlog4jログファイルにログを記録します。

Jetty6を実行しています。

17
Steve Kuo

Jettyには、NCSA形式でログインできるリクエストロガーが付属しています。そのフォーマットには、必要に応じてリクエスト本文などは含まれていませんが、その標準フォーマットはwebalizerなどのツールに適合します。

さらにログを記録する必要がある場合は、ログバック要求ログの実装を使用するか、JettyのRequestLogインターフェースを実装して独自のロガーを作成できます。

それに加えて、jetty7/8にアップグレードすることを強くお勧めします(同じコードベースですが、8はサーブレット3.0機能を提供します)。または、jetty9に直接移動します。

リクエストログのjetty9ドキュメントは次のとおりです。 http://www.Eclipse.org/jetty/documentation/current/configuring-logging.html#configuring-jetty-request-logs

Jetty7/8についても同じ: http://wiki.Eclipse.org/Jetty/Tutorial/RequestLog

Jetty6のドキュメントを見つけるための演習として残しておきますが、アップグレードしてください。 :)

さて、偶然にjetty6ドキュメントを見つけました: http://docs.codehaus.org/display/JETTY/Logging+Requests

15
Thomas Becker

TL; DR

適切なモジュールを有効にする必要があります。start.iniファイルに追加するだけです。

# Create access log file
--module=requestlog

# Redirect all the console log to a file
--module=console-capture

Jettyを再起動し、logsディレクトリを調べます。

0
freedev