rootのloggerのみをlogback.xmlに定義しているのであれば、正しい挙動のように思います。
下位のloggerは上位のloggerの設定を引き継ぐのではなく、上位にログ出力処理を伝搬します。
このケースではFooのloggerはlogback.xmlに定義されていないためログ出力は行われず、伝搬された先のlogback.xmlに定義されているrootのloggerで初めてログ出力処理が行われます。
FooのFQCNの名前でlogback.xmlにloggerを定義すれば、LoggerFactory.getLogger(Foo.class)でappenderは取得できるようになると思いますが、その状態だとFooのloggerとrootのloggerで二重にログが出力されることになります。
ただし、Fooのloggerのadditivityをfalseに設定すれば上位への伝搬を止めることができます。
xml
1<!-- Fooでappenderは取得できない -->
2<configuration>
3 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
4 <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder
5 by default -->
6 <encoder>
7 <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
8 </pattern>
9 </encoder>
10 </appender>
11 <root level="debug">
12 <appender-ref ref="STDOUT" />
13 </root>
14</configuration>
xml
1<!-- Fooでappenderは取得できるがFooとrootで二重にログが出力される -->
2<configuration>
3 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
4 <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder
5 by default -->
6 <encoder>
7 <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
8 </pattern>
9 </encoder>
10 </appender>
11 <logger name="test.Foo" level="debug">
12 <appender-ref ref="STDOUT" />
13 </logger>
14 <root level="debug">
15 <appender-ref ref="STDOUT" />
16 </root>
17</configuration>
xml
1<!-- Fooでappenderが取得できてFooだけでログが出力される -->
2<configuration>
3 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
4 <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder
5 by default -->
6 <encoder>
7 <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
8 </pattern>
9 </encoder>
10 </appender>
11 <logger name="test.Foo" level="debug" additivity="false">
12 <appender-ref ref="STDOUT" />
13 </logger>
14 <root level="debug">
15 <appender-ref ref="STDOUT" />
16 </root>
17</configuration>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/20 09:30 編集
2017/01/20 09:39 編集
2017/01/20 09:54 編集
2017/01/23 05:13