2017-09-19 14 views
1

質問は簡単です。いくつかのlogback.xmlsで私は要素としてレベルを参照してください。ログバックレベル要素対レベル属性

<logger name="mylog" additivity="false"> 
    <level value="DEBUG" /> 
    <appender-ref ref="fileAppender" /> 
</logger> 

をしかし、いくつかの中で、それを属性として書かれている:

<logger name="mylog" additivity="false" level="debug"> 
    <appender-ref ref="fileAppender" /> 
</logger> 

違いは何ですか?

ありがとうございました。

答えて

1

Logbackの設定に関しては、違いはありません。次の宣言は、どちらも機能は同じです:

<logger name="com.x.y"> 
    <level value="DEBUG"/> 
</logger> 

<logger name="com.x.y" level="DEBUG" /> 

Logbackのコンフィギュア(ch.qos.logback.core.joran.GenericConfigurator.doConfigure()を見て)これらの宣言の両方で同一Loggerインスタンスを作成します。

唯一の違いは、設定を解析するときに、最初のものがch.qos.logback.core.joran.event.SaxEvent(ロガーのレベルの開始イベントと終了イベント)の数が多いことです(ロガーの開始イベントと終了イベントのみ) )。

ロガーと特定のアペンダーを関連付ける場合は、すでにロガーエレメントボディーを定義しています。属性として素子本体内levelを定義するのではなく、より良い読みかもしれないが、それは本当に開発者の嗜好の念であり、その場合には

<logger name="com.x.y"> 
    <appender-ref ref="STDOUT"/> 
</logger> 

+0

ドキュメントは2番目の方法しか示していないので、お読みください。 – Xenon