回答編集履歴

1

サンプルの追記

2017/01/20 08:57

投稿

makotribe
makotribe

スコア217

test CHANGED
@@ -7,3 +7,117 @@
7
7
  FooのFQCNの名前でlogback.xmlにloggerを定義すれば、LoggerFactory.getLogger(Foo.class)でappenderは取得できるようになると思いますが、その状態だとFooのloggerとrootのloggerで二重にログが出力されることになります。
8
8
 
9
9
  ただし、Fooのloggerのadditivityをfalseに設定すれば上位への伝搬を止めることができます。
10
+
11
+
12
+
13
+ ```xml
14
+
15
+ <!-- Fooでappenderは取得できない -->
16
+
17
+ <configuration>
18
+
19
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
20
+
21
+ <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder
22
+
23
+ by default -->
24
+
25
+ <encoder>
26
+
27
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
28
+
29
+ </pattern>
30
+
31
+ </encoder>
32
+
33
+ </appender>
34
+
35
+ <root level="debug">
36
+
37
+ <appender-ref ref="STDOUT" />
38
+
39
+ </root>
40
+
41
+ </configuration>
42
+
43
+ ```
44
+
45
+
46
+
47
+ ```xml
48
+
49
+ <!-- Fooでappenderは取得できるがFooとrootで二重にログが出力される -->
50
+
51
+ <configuration>
52
+
53
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
54
+
55
+ <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder
56
+
57
+ by default -->
58
+
59
+ <encoder>
60
+
61
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
62
+
63
+ </pattern>
64
+
65
+ </encoder>
66
+
67
+ </appender>
68
+
69
+ <logger name="test.Foo" level="debug">
70
+
71
+ <appender-ref ref="STDOUT" />
72
+
73
+ </logger>
74
+
75
+ <root level="debug">
76
+
77
+ <appender-ref ref="STDOUT" />
78
+
79
+ </root>
80
+
81
+ </configuration>
82
+
83
+ ```
84
+
85
+
86
+
87
+ ```xml
88
+
89
+ <!-- Fooでappenderが取得できてFooだけでログが出力される -->
90
+
91
+ <configuration>
92
+
93
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
94
+
95
+ <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder
96
+
97
+ by default -->
98
+
99
+ <encoder>
100
+
101
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
102
+
103
+ </pattern>
104
+
105
+ </encoder>
106
+
107
+ </appender>
108
+
109
+ <logger name="test.Foo" level="debug" additivity="false">
110
+
111
+ <appender-ref ref="STDOUT" />
112
+
113
+ </logger>
114
+
115
+ <root level="debug">
116
+
117
+ <appender-ref ref="STDOUT" />
118
+
119
+ </root>
120
+
121
+ </configuration>
122
+
123
+ ```