2016-08-16 3 views
4

logback.xmlは、アクティブなSpringプロファイルに基づいて使用するアペンダーを選択するように設定しました。私が使用してアプリケーションを実行すると技術が完璧に動作Maven経由で実行したときに、Logbackで使用できないSpringプロファイル

java -jar -Dspring.profiles.active=local path/to/target/application.war

ではなく、私はそれは、例えば、Spring Boot Maven Pluginを使用して実行

mvn spring-boot:run -Drun.profiles=local

はここlogback.xmlを処理するときにだけ使用できません、私は、プロファイルは、アプリケーション自体に正しく表示されないことに注意します

<root level="INFO"> 
    <if condition='"${spring.profiles.active}".contains("local")'> 
     <then> 
      <appender-ref ref="CONSOLE"/> 
     </then> 
     <else> 
      <appender-ref ref="FILE"/> 
     </else> 
    </if> 
</root> 

logback.xmlの関連セクションです。

問題は、IntelliJ IDEから実行しているときにも現れます。

Maven Spring Boot Pluginを使用してプロファイルをlogback.xmlパーサーに表示させる別の方法はありますか?それもIntelliJでも使えますか?

答えて

2

logback-spring拡張機能を使用してlogbackを設定しようとしましたか?あなたのケースのlogback-spring.xmlで

は、次のようになります。

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html#boot-features-logback-extensions

:logback-春の拡張子で使用可能なオプションについて

<?xml version="1.0" encoding="UTF-8"?> 
<include resource="org/springframework/boot/logging/logback/base.xml"/><!-- include this config if you want to use spring-boot's built-in appenders --> 
<configuration> 
    <root level="INFO"> 
     <springProfile name="local"> 
       <appender-ref ref="CONSOLE"/> 
     </springProfile> 
     <springProfile name="otherprofile"> 
       <appender-ref ref="FILE"/> 
     </springProfile> 
    </root> 
</configuration> 

さらに詳しい情報

関連する問題