-1

サーバーは単純な桟橋サーバーです

log4j.properties ファイルの設定方法 適切な log4j プロパティ ファイルがあります。

しかし、log4j.propertiesの設定中

次の方法を使用して、srcフォルダーにlog4j.propertiesがあります

PropertyConfigurator.configure("log4j.properties");

ローカルで作業しているときは正常に動作しますが、jar ファイルを作成して実行すると、java.io.FileNotFoundExceptionのような例外がスローされます。

私はそれを抽出して、リソースという別のフォルダーに作成し、次の方法でアクセスしようとしました

PropertyConfigurator.configure("resources/log4j.properties");

その後も同じエラーが表示されます

プロジェクト全体をjarファイルとしてエクスポートし、このlog4jの問題を機能させる方法は?

別のリンクが見つかりまし た カスタム プレイスの Log4j プロパティ

クラスパスを設定する必要があるという点で

java -Dlog4j.configuration=conf/log4j.properties -classpath ...

-classpath の設定方法がわからず、この方法が機能するかどうかもわかりません!!

そして、jarファイルとしてエクスポートされたとしても、動作するはずです!

4

2 に答える 2

3

リソース ディレクトリがクラスパス上にある場合はlog4j.properties、次を使用できます。

PropertyConfigurator.configure("classpath:resources/log4j.properties");

Jetty の作業ディレクトリを表示するには、次を追加できます。

System.out.println(System.getProperty("user.dir"));

PropertyConfigurator.configure声明の前に。これにより、サーバーの作業ディレクトリに対してプロパティ ファイルが配置されている場所を確認できます。

于 2012-10-06T11:18:38.473 に答える
2

すぐに機能させるために、コードから構成できます。

Properties props = new Properties();
props.setProperty("<KEY>","VALUE");
PropertyConfigurator.configure(props);

log4j.properties ファイルのすべてのプロパティを使用して props オブジェクトをハードコーディングします。

これはあなたが求める解決策ではありませんが、時間がない場合は非常に役立つかもしれません.

于 2012-10-06T10:57:42.603 に答える