2017-01-19 14 views
2

私はSpringブートでSpringを使用しています。最近、EhCacheを手に入れようとしていて、EhCacheのログを有効にしようとしました。 application.propertiesのログレベルを次のように設定します。Springフレームワークapplication.properties vs logback.xml

logging.level.org.springframework.cache: DEBUG 

効果がありませんでした。そこで、私はlogbackを使ってログを有効にする方法を見つけました。今私はlogback.xmlファイルにログ設定を入れる必要があります。

私の質問は、Springでどのように設定が処理されるのですか? logback.xmlはapplication.propertiesより優先されますか? 1つの設定だけを使用する方法はありますか? application.propertiesまたはlogback.xmlのどちらですか? 2つの構成がある点は何ですか?

編集: その後私はEhcacheのロギングを有効にするために、見つけた、私は私のapplication.propertiesにこの行を追加する必要があります。

logging.level.net.sf.ehcache: DEBUG 
+1

ロギングプロパティは、Spring Bootによって提供されます。https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html#howto-loggingしたがって、ログバックがある場合。 xml(または他のロギングバックエンドを使用する場合はネイティブの設定)が優先されます。 logback.xmlがあれば、application.properitesに 'logging.level.net.sf.ehcache:DEBUG'を置く必要はありません。 logback.xmlにロガーを定義するだけです –

答えて

0

はい。 1つの構成logback.xml を使用してログ部分を実行できます。<springProperty>タグを使用すると、Logbackファイル内でSpring環境プロパティを使用できます。

<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host" 
     defaultValue="localhost"/> 
<appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender"> 
    <remoteHost>${fluentHost}</remoteHost> 
    ... 
</appender> 

Ref

0

Logbackは、それが最初に見つけることができない場合logback.xml、その後、ファイルのlogback_test.xmlのクラスパスになります。

mavenを使用していると仮定すると、プロパティファイルには何も必要ありません。通常はsrc/main/resourcesのlogback.xmlとsrc/test/resourcesのlogback_test.xmlです。

<!-- API --> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.7.22</version> 
</dependency> 
<!-- Implementation --> 
<dependency> 
    <groupId>ch.qos.logback</groupId> 
    <artifactId>logback-classic</artifactId> 
    <version>1.1.8</version> 
</dependency> 

EhcacheのはSLF4Jので、あなたのlogbackの設定がピックアップされます使用します。

あなたは通常、あなたのポンポンで、あなたがこれを必要とする、logbackとAPIの実装が必要になります。

ログバック設定についてはhttp://logback.qos.ch/manual/configuration.htmlを参照してください。

関連する問題