2016-07-12 15 views
0

springbootアプリケーションでは、単一のjarファイルと、application.properties、applicationContext.xml、およびlog4j ...というプロパティファイルを含むサブディレクトリ構成ファイルがあります。Springboot外部化log4j構成

私はlog4j設定を外部化しようとしています。 application.propertiesはこのように外部化されています。

しかし、springbootを実行すると、jarファイル内のlog4j設定ファイルを使用しています。 -Dlog4j.debugオプションを使用すると、まずlog4jが外部ファイルを使用していることがわかりますが、春が始まるとlog4j設定がjarファイルの設定で上書きされます。 URLファイルから設定を読み込む:/opt/config/log4j-qa.properties

ここ

は、(すべてのオプション付き)の例の起動

java -Dlog4j.debug 
    -Dlogging.config="file:/opt/config/log4j-qa.properties" 
    -Dlog4j.configuration="file:/opt/config/log4j-qa.properties" 
    -jar /opt/myjarName.jar 
    --spring.config.location=/opt/config/ 

log4jの最初の起動時のlog4j状態にあります

その後、springbootに log4jの開始:URLジャーからの読み込み設定:ファイル:!/opt/dms-events-api.jarを/log4j-qa.properties

私はそれが唯一の外部ファイルのファイルを読みたい:

私たちはライン @ImportResource(「クラスパスを持っていた我々のアプリケーションでは

:applicationContext.xmlを

答えて

0

解像度を/opt/config/log4j-qa.properties 「)、その後のlog4jプロパティは、クラスパスからファイルを定義 :APIアプリケーションのルートに/ configディレクトリを作成し、プロパティを置く

シンプルなソリューション 1.ファイルが 2、ImportResource行を削除今は必要ありません 3.アプリケーションに回線を追加しますcation.propertiesは logging.configファイル=ファイル:設定/ log4jの - $ {私たちの環境のvarは} 、プロジェクトのルートに/ configディレクトリを作成することにより説明

を.propertiesファイル我々は、日食で作業することができます通常のプロパティファイルを見つける。 - 次にconfigsを外部化する アプリケーションjarがあるところからconfigディレクトリを追加してそこにプロパティファイルを置くだけです。