2011-11-11 10 views
1

NetBeansプラットフォームアプリケーションにlog4j設定ファイルをパッケージ化するには、何らかの検討が必要です。これは私が試したものです...NetBeans Platormアプリケーションでlog4j構成ファイルをパッケージ化するにはどうすればよいですか?

some_netbeans_moduleのsrc/main/resources/my/package/log4j.xmlにlog4j.xmlを入れました。パッケージはパブリックモジュールパッケージです(つまり、このパッケージのクラスは他のパッケージから使用されます)。私はモジュールを再構築し、ファイルが実際にモジュールにパッケージ化されていることを確認しました。

私はロガーのインスタンスに私はいつものやり方を取得する私のクラスで

static final Logger log = Logger.getLogger(ThisClass.class); 

すべてのNetBeansプラットフォームアプリケーションが特定のプロパティを設定することが可能となりmy_app.confファイルを持っています。

[INFO] /home/me/my_app/application/target/my_app/bin/../etc/my_app.conf: 5: 
log4j.configuration=/my/package/log4j.xml: not found 

上記の構成の何が問題になっている:私は、アプリケーションを実行すると、私は次の出力を参照してください、今すぐ

log4j.configuration="/my/package/log4j.xml" 

:これは私がlog4j.confを設定どこにあるのでしょうか? my_app.confファイルで

答えて

2

ので好きですが、default_optionsプロパティにlog4j.configurationプロパティを追加した場合:

default_options="...<other options> -J-Dlog4j.configuration=my/package/log4j.xml" 

は、このオプションは、JVMに渡されます。 log4jプロパティには-J-Dが追加されています。 -JはNetBeansでJVMのプロパティを記述するために使用され、-DはJVMによってdelineate a system propertyに使用されます。また

することができます/必要はありません、あなたは私が好むので、これを行うための初期/

他の方法、および方法を持っている場合、NetBeansは文句を言う引用符と二重引用符として初期/をドロップする必要があります.confファイルを編集する必要はありません。これは、log4j.xmlファイルをデフォルトのパッケージに入れることです。これを行うことを妨げる他の要件がある場合は、IDEのモードでIDEの内部でアプリケーションを実行している間に、アプリケーションのplatform.propertiesファイルにlog4j.configurationプロパティを配置する必要があることに注意してください。そのような:

run.args.extra=-J-Dlog4j.configuration=my/package/log4j.xml 

編集:NetBeans Platform Usersフォーラムへのより良い運の投稿があるかもしれないNetBeansプラットフォームに関するご質問は

+0

今日は後で試してみて、それがどこに届くか見てみましょう。しかし私はあまり楽観的ではありません。私は、log4j.configurationパラメーターを正確に設定したmy_app.confファイルのサンプルを見つけました。私は、もしそれが動作すれば、default_optionsのJVMプロパティとしてそれを追加するよりも、少し洗練されたアプローチを見つける。私は間違いなく提案に感謝します! –

+0

確かです。私はそれがどのようになったのかを教えてください –

+0

私はそれをちょっと試して、/ my/packageがmy/package(開始スラッシュがない)と同じで、conf内の変数が同じであることを発見しました。ファイルはシステムプロパティではなく実際には環境変数であるため、以前は動作しませんでした。ありがとう。 ;) –

関連する問題