6

Java 用の素敵な小さな Web リクエスト フレームワークであるSparkに出会いました。API は素晴らしく有望に見えますが、ライブラリ バンドル自体はかなり奇妙です。スナップショット成果物を依存関係として使用することを提案しているという事実はそのままにしておきます。ロギングに log4j を使用するという事実 (最近のライブラリは jcl または slf4j を使用する傾向があります) と System.out.println を時々使用するという事実はそのままにしておいてください。ただし、独自の log4j.properties が spark-xxx.jar にバンドルされています。クラスパスに log4j.properties が確実に存在するのに、なぜ私のプロジェクトが log4j 構成について不平を言うのかを調査するのに 1 時間かかりました。-Dlog4j.debug=true で答えが得られ、log4j は、spark jar から log4j.properties をロードしたことを告白しました。

これ(ライブラリであり、log4jを使用し、log4j.propertiesをバンドルする)に何らかの動機があるのか​​ 、それとも単に不十分なのか疑問に思います.

4

1 に答える 1

5

log4j.properties をライブラリにバンドルするのは悪いスタイルです。

spark を使用すると、アプリケーション サーバー (Tomcat など) に近いと主張できます。その場合、ログを構成できます。

テストは、start(.sh|.bat) スクリプトを制御する人は誰でもロギングを構成する必要があり、log4j 構成ファイルはほとんど決して jar に入れるべきではないということです。

于 2011-08-06T06:13:10.333 に答える