私は以下のような状況があります。私は、各バッチファイルが同じjarのmain()を使ってjavaクラスを呼び出す異なるバッチファイルによって起動される2つのプログラムを実行できるようにする必要があります。私は各プログラムに独自のログを持たせたいと思います。しかし、2番目のプログラムは最初のインストーラですから、-Dlogback.configurationFile =/path/to/configファイルは、その場所がまだ存在しない可能性があるため、簡単に指定できません。ファイルではなくクラスパスリソースとしてログバック設定を指定する方法
Logback documentation seems to provide a solutionが、私はそれを動作させる方法の例を必要とする:
システムとして、デフォルトの設定ファイルの場所を指定 プロパティ
ご希望の場合は、あなたがの場所を指定することができますlogback.configurationFileという名前のシステム・プロパティーを持つデフォルト構成 ファイル。このプロパティの値 は、URL、クラスパス上のリソース、またはアプリケーションの外部ファイルへのパス にすることができます。
のjava -Dlogback.configurationFile = /パス/に/ config.xmlに chapters.configuration.MyApp1
誰もがlogback.configurationFileは次のようにクラスパス上のリソースとして定義されている例に私を指すことができますファイルシステムに反対ですか?
変更したいログファイルの場合、ログファイルを変数として1つのlogback.xml構成ファイルに定義してください。これは、ほとんどのロギング設定が同じ場合に特に有効です。その後、ログファイル名はクラスパス内のリソースから読み取ることも、インストーラの呼び出しの一部とすることもできます。 – andygavin