1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.spi;
18
19 import java.io.Serializable;
20
21 import org.apache.logging.log4j.Level;
22 import org.apache.logging.log4j.LoggingException;
23 import org.apache.logging.log4j.Marker;
24 import org.apache.logging.log4j.MarkerManager;
25 import org.apache.logging.log4j.message.DefaultFlowMessageFactory;
26 import org.apache.logging.log4j.message.EntryMessage;
27 import org.apache.logging.log4j.message.FlowMessageFactory;
28 import org.apache.logging.log4j.message.Message;
29 import org.apache.logging.log4j.message.MessageFactory;
30 import org.apache.logging.log4j.message.MessageFactory2;
31 import org.apache.logging.log4j.message.ParameterizedMessage;
32 import org.apache.logging.log4j.message.ParameterizedMessageFactory;
33 import org.apache.logging.log4j.message.ReusableMessageFactory;
34 import org.apache.logging.log4j.message.SimpleMessage;
35 import org.apache.logging.log4j.message.StringFormattedMessage;
36 import org.apache.logging.log4j.status.StatusLogger;
37 import org.apache.logging.log4j.util.Constants;
38 import org.apache.logging.log4j.util.LambdaUtil;
39 import org.apache.logging.log4j.util.LoaderUtil;
40 import org.apache.logging.log4j.util.MessageSupplier;
41 import org.apache.logging.log4j.util.PerformanceSensitive;
42 import org.apache.logging.log4j.util.PropertiesUtil;
43 import org.apache.logging.log4j.util.StackLocatorUtil;
44 import org.apache.logging.log4j.util.Strings;
45 import org.apache.logging.log4j.util.Supplier;
46
47
48
49
50 public abstract class AbstractLogger implements ExtendedLogger, LocationAwareLogger, Serializable {
51
52
53
54
55
56
57
58
59 public static final Marker FLOW_MARKER = MarkerManager.getMarker("FLOW");
60
61
62
63
64 public static final Marker ENTRY_MARKER = MarkerManager.getMarker("ENTER").setParents(FLOW_MARKER);
65
66
67
68
69 public static final Marker EXIT_MARKER = MarkerManager.getMarker("EXIT").setParents(FLOW_MARKER);
70
71
72
73
74 public static final Marker EXCEPTION_MARKER = MarkerManager.getMarker("EXCEPTION");
75
76
77
78
79 public static final Marker THROWING_MARKER = MarkerManager.getMarker("THROWING").setParents(EXCEPTION_MARKER);
80
81
82
83
84 public static final Marker CATCHING_MARKER = MarkerManager.getMarker("CATCHING").setParents(EXCEPTION_MARKER);
85
86
87
88
89 public static final Class<? extends MessageFactory> DEFAULT_MESSAGE_FACTORY_CLASS =
90 createClassForProperty("log4j2.messageFactory", ReusableMessageFactory.class,
91 ParameterizedMessageFactory.class);
92
93
94
95
96 public static final Class<? extends FlowMessageFactory> DEFAULT_FLOW_MESSAGE_FACTORY_CLASS =
97 createFlowClassForProperty("log4j2.flowMessageFactory", DefaultFlowMessageFactory.class);
98
99 private static final long serialVersionUID = 2L;
100
101 private static final String FQCN = AbstractLogger.class.getName();
102 private static final String THROWING = "Throwing";
103 private static final String CATCHING = "Catching";
104
105 protected final String name;
106 private final MessageFactory2 messageFactory;
107 private final FlowMessageFactory flowMessageFactory;
108 private static ThreadLocal<int[]> recursionDepthHolder = new ThreadLocal<>();
109
110
111
112
113 public AbstractLogger() {
114 this.name = getClass().getName();
115 this.messageFactory = createDefaultMessageFactory();
116 this.flowMessageFactory = createDefaultFlowMessageFactory();
117 }
118
119
120
121
122
123
124 public AbstractLogger(final String name) {
125 this(name, createDefaultMessageFactory());
126 }
127
128
129
130
131
132
133
134 public AbstractLogger(final String name, final MessageFactory messageFactory) {
135 this.name = name;
136 this.messageFactory = messageFactory == null ? createDefaultMessageFactory() : narrow(messageFactory);
137 this.flowMessageFactory = createDefaultFlowMessageFactory();
138 }
139
140
141
142
143
144
145
146
147
148 public static void checkMessageFactory(final ExtendedLogger logger, final MessageFactory messageFactory) {
149 final String name = logger.getName();
150 final MessageFactory loggerMessageFactory = logger.getMessageFactory();
151 if (messageFactory != null && !loggerMessageFactory.equals(messageFactory)) {
152 StatusLogger.getLogger().warn(
153 "The Logger {} was created with the message factory {} and is now requested with the "
154 + "message factory {}, which may create log events with unexpected formatting.", name,
155 loggerMessageFactory, messageFactory);
156 } else if (messageFactory == null && !loggerMessageFactory.getClass().equals(DEFAULT_MESSAGE_FACTORY_CLASS)) {
157 StatusLogger
158 .getLogger()
159 .warn("The Logger {} was created with the message factory {} and is now requested with a null "
160 + "message factory (defaults to {}), which may create log events with unexpected "
161 + "formatting.",
162 name, loggerMessageFactory, DEFAULT_MESSAGE_FACTORY_CLASS.getName());
163 }
164 }
165
166 @Override
167 public void catching(final Level level, final Throwable t) {
168 catching(FQCN, level, t);
169 }
170
171
172
173
174
175
176
177
178 protected void catching(final String fqcn, final Level level, final Throwable t) {
179 if (isEnabled(level, CATCHING_MARKER, (Object) null, null)) {
180 logMessageSafely(fqcn, level, CATCHING_MARKER, catchingMsg(t), t);
181 }
182 }
183
184 @Override
185 public void catching(final Throwable t) {
186 if (isEnabled(Level.ERROR, CATCHING_MARKER, (Object) null, null)) {
187 logMessageSafely(FQCN, Level.ERROR, CATCHING_MARKER, catchingMsg(t), t);
188 }
189 }
190
191 protected Message catchingMsg(final Throwable t) {
192 return messageFactory.newMessage(CATCHING);
193 }
194
195 private static Class<? extends MessageFactory> createClassForProperty(final String property,
196 final Class<ReusableMessageFactory> reusableParameterizedMessageFactoryClass,
197 final Class<ParameterizedMessageFactory> parameterizedMessageFactoryClass) {
198 try {
199 final String fallback = Constants.ENABLE_THREADLOCALS ? reusableParameterizedMessageFactoryClass.getName()
200 : parameterizedMessageFactoryClass.getName();
201 final String clsName = PropertiesUtil.getProperties().getStringProperty(property, fallback);
202 return LoaderUtil.loadClass(clsName).asSubclass(MessageFactory.class);
203 } catch (final Throwable t) {
204 return parameterizedMessageFactoryClass;
205 }
206 }
207
208 private static Class<? extends FlowMessageFactory> createFlowClassForProperty(final String property,
209 final Class<DefaultFlowMessageFactory> defaultFlowMessageFactoryClass) {
210 try {
211 final String clsName = PropertiesUtil.getProperties().getStringProperty(property, defaultFlowMessageFactoryClass.getName());
212 return LoaderUtil.loadClass(clsName).asSubclass(FlowMessageFactory.class);
213 } catch (final Throwable t) {
214 return defaultFlowMessageFactoryClass;
215 }
216 }
217
218 private static MessageFactory2 createDefaultMessageFactory() {
219 try {
220 final MessageFactory result = DEFAULT_MESSAGE_FACTORY_CLASS.newInstance();
221 return narrow(result);
222 } catch (final InstantiationException | IllegalAccessException e) {
223 throw new IllegalStateException(e);
224 }
225 }
226
227 private static MessageFactory2 narrow(final MessageFactory result) {
228 if (result instanceof MessageFactory2) {
229 return (MessageFactory2) result;
230 }
231 return new MessageFactory2Adapter(result);
232 }
233
234 private static FlowMessageFactory createDefaultFlowMessageFactory() {
235 try {
236 return DEFAULT_FLOW_MESSAGE_FACTORY_CLASS.newInstance();
237 } catch (final InstantiationException | IllegalAccessException e) {
238 throw new IllegalStateException(e);
239 }
240 }
241
242 @Override
243 public void debug(final Marker marker, final CharSequence message) {
244 logIfEnabled(FQCN, Level.DEBUG, marker, message, null);
245 }
246
247 @Override
248 public void debug(final Marker marker, final CharSequence message, final Throwable t) {
249 logIfEnabled(FQCN, Level.DEBUG, marker, message, t);
250 }
251
252 @Override
253 public void debug(final Marker marker, final Message msg) {
254 logIfEnabled(FQCN, Level.DEBUG, marker, msg, msg != null ? msg.getThrowable() : null);
255 }
256
257 @Override
258 public void debug(final Marker marker, final Message msg, final Throwable t) {
259 logIfEnabled(FQCN, Level.DEBUG, marker, msg, t);
260 }
261
262 @Override
263 public void debug(final Marker marker, final Object message) {
264 logIfEnabled(FQCN, Level.DEBUG, marker, message, null);
265 }
266
267 @Override
268 public void debug(final Marker marker, final Object message, final Throwable t) {
269 logIfEnabled(FQCN, Level.DEBUG, marker, message, t);
270 }
271
272 @Override
273 public void debug(final Marker marker, final String message) {
274 logIfEnabled(FQCN, Level.DEBUG, marker, message, (Throwable) null);
275 }
276
277 @Override
278 public void debug(final Marker marker, final String message, final Object... params) {
279 logIfEnabled(FQCN, Level.DEBUG, marker, message, params);
280 }
281
282 @Override
283 public void debug(final Marker marker, final String message, final Throwable t) {
284 logIfEnabled(FQCN, Level.DEBUG, marker, message, t);
285 }
286
287 @Override
288 public void debug(final Message msg) {
289 logIfEnabled(FQCN, Level.DEBUG, null, msg, msg != null ? msg.getThrowable() : null);
290 }
291
292 @Override
293 public void debug(final Message msg, final Throwable t) {
294 logIfEnabled(FQCN, Level.DEBUG, null, msg, t);
295 }
296
297 @Override
298 public void debug(final CharSequence message) {
299 logIfEnabled(FQCN, Level.DEBUG, null, message, null);
300 }
301
302 @Override
303 public void debug(final CharSequence message, final Throwable t) {
304 logIfEnabled(FQCN, Level.DEBUG, null, message, t);
305 }
306
307 @Override
308 public void debug(final Object message) {
309 logIfEnabled(FQCN, Level.DEBUG, null, message, null);
310 }
311
312 @Override
313 public void debug(final Object message, final Throwable t) {
314 logIfEnabled(FQCN, Level.DEBUG, null, message, t);
315 }
316
317 @Override
318 public void debug(final String message) {
319 logIfEnabled(FQCN, Level.DEBUG, null, message, (Throwable) null);
320 }
321
322 @Override
323 public void debug(final String message, final Object... params) {
324 logIfEnabled(FQCN, Level.DEBUG, null, message, params);
325 }
326
327 @Override
328 public void debug(final String message, final Throwable t) {
329 logIfEnabled(FQCN, Level.DEBUG, null, message, t);
330 }
331
332 @Override
333 public void debug(final Supplier<?> msgSupplier) {
334 logIfEnabled(FQCN, Level.DEBUG, null, msgSupplier, (Throwable) null);
335 }
336
337 @Override
338 public void debug(final Supplier<?> msgSupplier, final Throwable t) {
339 logIfEnabled(FQCN, Level.DEBUG, null, msgSupplier, t);
340 }
341
342 @Override
343 public void debug(final Marker marker, final Supplier<?> msgSupplier) {
344 logIfEnabled(FQCN, Level.DEBUG, marker, msgSupplier, (Throwable) null);
345 }
346
347 @Override
348 public void debug(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
349 logIfEnabled(FQCN, Level.DEBUG, marker, message, paramSuppliers);
350 }
351
352 @Override
353 public void debug(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
354 logIfEnabled(FQCN, Level.DEBUG, marker, msgSupplier, t);
355 }
356
357 @Override
358 public void debug(final String message, final Supplier<?>... paramSuppliers) {
359 logIfEnabled(FQCN, Level.DEBUG, null, message, paramSuppliers);
360 }
361
362 @Override
363 public void debug(final Marker marker, final MessageSupplier msgSupplier) {
364 logIfEnabled(FQCN, Level.DEBUG, marker, msgSupplier, (Throwable) null);
365 }
366
367 @Override
368 public void debug(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
369 logIfEnabled(FQCN, Level.DEBUG, marker, msgSupplier, t);
370 }
371
372 @Override
373 public void debug(final MessageSupplier msgSupplier) {
374 logIfEnabled(FQCN, Level.DEBUG, null, msgSupplier, (Throwable) null);
375 }
376
377 @Override
378 public void debug(final MessageSupplier msgSupplier, final Throwable t) {
379 logIfEnabled(FQCN, Level.DEBUG, null, msgSupplier, t);
380 }
381
382 @Override
383 public void debug(final Marker marker, final String message, final Object p0) {
384 logIfEnabled(FQCN, Level.DEBUG, marker, message, p0);
385 }
386
387 @Override
388 public void debug(final Marker marker, final String message, final Object p0, final Object p1) {
389 logIfEnabled(FQCN, Level.DEBUG, marker, message, p0, p1);
390 }
391
392 @Override
393 public void debug(final Marker marker, final String message, final Object p0, final Object p1, final Object p2) {
394 logIfEnabled(FQCN, Level.DEBUG, marker, message, p0, p1, p2);
395 }
396
397 @Override
398 public void debug(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
399 final Object p3) {
400 logIfEnabled(FQCN, Level.DEBUG, marker, message, p0, p1, p2, p3);
401 }
402
403 @Override
404 public void debug(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
405 final Object p3, final Object p4) {
406 logIfEnabled(FQCN, Level.DEBUG, marker, message, p0, p1, p2, p3, p4);
407 }
408
409 @Override
410 public void debug(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
411 final Object p3, final Object p4, final Object p5) {
412 logIfEnabled(FQCN, Level.DEBUG, marker, message, p0, p1, p2, p3, p4, p5);
413 }
414
415 @Override
416 public void debug(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
417 final Object p3, final Object p4, final Object p5,
418 final Object p6) {
419 logIfEnabled(FQCN, Level.DEBUG, marker, message, p0, p1, p2, p3, p4, p5, p6);
420 }
421
422 @Override
423 public void debug(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
424 final Object p3, final Object p4, final Object p5,
425 final Object p6, final Object p7) {
426 logIfEnabled(FQCN, Level.DEBUG, marker, message, p0, p1, p2, p3, p4, p5, p6, p7);
427 }
428
429 @Override
430 public void debug(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
431 final Object p3, final Object p4, final Object p5,
432 final Object p6, final Object p7, final Object p8) {
433 logIfEnabled(FQCN, Level.DEBUG, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
434 }
435
436 @Override
437 public void debug(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
438 final Object p3, final Object p4, final Object p5,
439 final Object p6, final Object p7, final Object p8, final Object p9) {
440 logIfEnabled(FQCN, Level.DEBUG, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
441 }
442
443 @Override
444 public void debug(final String message, final Object p0) {
445 logIfEnabled(FQCN, Level.DEBUG, null, message, p0);
446 }
447
448 @Override
449 public void debug(final String message, final Object p0, final Object p1) {
450 logIfEnabled(FQCN, Level.DEBUG, null, message, p0, p1);
451 }
452
453 @Override
454 public void debug(final String message, final Object p0, final Object p1, final Object p2) {
455 logIfEnabled(FQCN, Level.DEBUG, null, message, p0, p1, p2);
456 }
457
458 @Override
459 public void debug(final String message, final Object p0, final Object p1, final Object p2, final Object p3) {
460 logIfEnabled(FQCN, Level.DEBUG, null, message, p0, p1, p2, p3);
461 }
462
463 @Override
464 public void debug(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
465 final Object p4) {
466 logIfEnabled(FQCN, Level.DEBUG, null, message, p0, p1, p2, p3, p4);
467 }
468
469 @Override
470 public void debug(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
471 final Object p4, final Object p5) {
472 logIfEnabled(FQCN, Level.DEBUG, null, message, p0, p1, p2, p3, p4, p5);
473 }
474
475 @Override
476 public void debug(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
477 final Object p4, final Object p5, final Object p6) {
478 logIfEnabled(FQCN, Level.DEBUG, null, message, p0, p1, p2, p3, p4, p5, p6);
479 }
480
481 @Override
482 public void debug(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
483 final Object p4, final Object p5, final Object p6,
484 final Object p7) {
485 logIfEnabled(FQCN, Level.DEBUG, null, message, p0, p1, p2, p3, p4, p5, p6, p7);
486 }
487
488 @Override
489 public void debug(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
490 final Object p4, final Object p5, final Object p6,
491 final Object p7, final Object p8) {
492 logIfEnabled(FQCN, Level.DEBUG, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
493 }
494
495 @Override
496 public void debug(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
497 final Object p4, final Object p5, final Object p6,
498 final Object p7, final Object p8, final Object p9) {
499 logIfEnabled(FQCN, Level.DEBUG, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
500 }
501
502
503
504
505
506
507
508
509 protected EntryMessage enter(final String fqcn, final String format, final Supplier<?>... paramSuppliers) {
510 EntryMessage entryMsg = null;
511 if (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) null, null)) {
512 logMessageSafely(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg = entryMsg(format, paramSuppliers), null);
513 }
514 return entryMsg;
515 }
516
517
518
519
520
521
522
523
524 @Deprecated
525 protected EntryMessage enter(final String fqcn, final String format, final MessageSupplier... paramSuppliers) {
526 EntryMessage entryMsg = null;
527 if (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) null, null)) {
528 logMessageSafely(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg = entryMsg(format, paramSuppliers), null);
529 }
530 return entryMsg;
531 }
532
533
534
535
536
537
538
539
540 protected EntryMessage enter(final String fqcn, final String format, final Object... params) {
541 EntryMessage entryMsg = null;
542 if (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) null, null)) {
543 logMessageSafely(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg = entryMsg(format, params), null);
544 }
545 return entryMsg;
546 }
547
548
549
550
551
552
553
554 @Deprecated
555 protected EntryMessage enter(final String fqcn, final MessageSupplier msgSupplier) {
556 EntryMessage message = null;
557 if (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) null, null)) {
558 logMessageSafely(fqcn, Level.TRACE, ENTRY_MARKER, message = flowMessageFactory.newEntryMessage(
559 msgSupplier.get()), null);
560 }
561 return message;
562 }
563
564
565
566
567
568
569
570
571
572
573 protected EntryMessage enter(final String fqcn, final Message message) {
574 EntryMessage flowMessage = null;
575 if (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) null, null)) {
576 logMessageSafely(fqcn, Level.TRACE, ENTRY_MARKER, flowMessage = flowMessageFactory.newEntryMessage(message),
577 null);
578 }
579 return flowMessage;
580 }
581
582 @Deprecated
583 @Override
584 public void entry() {
585 entry(FQCN, (Object[]) null);
586 }
587
588 @Override
589 public void entry(final Object... params) {
590 entry(FQCN, params);
591 }
592
593
594
595
596
597
598
599 protected void entry(final String fqcn, final Object... params) {
600 if (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) null, null)) {
601 if (params == null) {
602 logMessageSafely(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg(null, (Supplier<?>[]) null), null);
603 } else {
604 logMessageSafely(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg(null, params), null);
605 }
606 }
607 }
608
609 protected EntryMessage entryMsg(final String format, final Object... params) {
610 final int count = params == null ? 0 : params.length;
611 if (count == 0) {
612 if (Strings.isEmpty(format)) {
613 return flowMessageFactory.newEntryMessage(null);
614 }
615 return flowMessageFactory.newEntryMessage(new SimpleMessage(format));
616 }
617 if (format != null) {
618 return flowMessageFactory.newEntryMessage(new ParameterizedMessage(format, params));
619 }
620 final StringBuilder sb = new StringBuilder();
621 sb.append("params(");
622 for (int i = 0; i < count; i++) {
623 if (i > 0) {
624 sb.append(", ");
625 }
626 final Object parm = params[i];
627 sb.append(parm instanceof Message ? ((Message) parm).getFormattedMessage() : String.valueOf(parm));
628 }
629 sb.append(')');
630 return flowMessageFactory.newEntryMessage(new SimpleMessage(sb));
631 }
632
633 protected EntryMessage entryMsg(final String format, final MessageSupplier... paramSuppliers) {
634 final int count = paramSuppliers == null ? 0 : paramSuppliers.length;
635 final Object[] params = new Object[count];
636 for (int i = 0; i < count; i++) {
637 params[i] = paramSuppliers[i].get();
638 params[i] = params[i] != null ? ((Message) params[i]).getFormattedMessage() : null;
639 }
640 return entryMsg(format, params);
641 }
642
643 protected EntryMessage entryMsg(final String format, final Supplier<?>... paramSuppliers) {
644 final int count = paramSuppliers == null ? 0 : paramSuppliers.length;
645 final Object[] params = new Object[count];
646 for (int i = 0; i < count; i++) {
647 params[i] = paramSuppliers[i].get();
648 if (params[i] instanceof Message) {
649 params[i] = ((Message) params[i]).getFormattedMessage();
650 }
651 }
652 return entryMsg(format, params);
653 }
654
655 @Override
656 public void error(final Marker marker, final Message msg) {
657 logIfEnabled(FQCN, Level.ERROR, marker, msg, msg != null ? msg.getThrowable() : null);
658 }
659
660 @Override
661 public void error(final Marker marker, final Message msg, final Throwable t) {
662 logIfEnabled(FQCN, Level.ERROR, marker, msg, t);
663 }
664
665 @Override
666 public void error(final Marker marker, final CharSequence message) {
667 logIfEnabled(FQCN, Level.ERROR, marker, message, null);
668 }
669
670 @Override
671 public void error(final Marker marker, final CharSequence message, final Throwable t) {
672 logIfEnabled(FQCN, Level.ERROR, marker, message, t);
673 }
674
675 @Override
676 public void error(final Marker marker, final Object message) {
677 logIfEnabled(FQCN, Level.ERROR, marker, message, null);
678 }
679
680 @Override
681 public void error(final Marker marker, final Object message, final Throwable t) {
682 logIfEnabled(FQCN, Level.ERROR, marker, message, t);
683 }
684
685 @Override
686 public void error(final Marker marker, final String message) {
687 logIfEnabled(FQCN, Level.ERROR, marker, message, (Throwable) null);
688 }
689
690 @Override
691 public void error(final Marker marker, final String message, final Object... params) {
692 logIfEnabled(FQCN, Level.ERROR, marker, message, params);
693 }
694
695 @Override
696 public void error(final Marker marker, final String message, final Throwable t) {
697 logIfEnabled(FQCN, Level.ERROR, marker, message, t);
698 }
699
700 @Override
701 public void error(final Message msg) {
702 logIfEnabled(FQCN, Level.ERROR, null, msg, msg != null ? msg.getThrowable() : null);
703 }
704
705 @Override
706 public void error(final Message msg, final Throwable t) {
707 logIfEnabled(FQCN, Level.ERROR, null, msg, t);
708 }
709
710 @Override
711 public void error(final CharSequence message) {
712 logIfEnabled(FQCN, Level.ERROR, null, message, null);
713 }
714
715 @Override
716 public void error(final CharSequence message, final Throwable t) {
717 logIfEnabled(FQCN, Level.ERROR, null, message, t);
718 }
719
720 @Override
721 public void error(final Object message) {
722 logIfEnabled(FQCN, Level.ERROR, null, message, null);
723 }
724
725 @Override
726 public void error(final Object message, final Throwable t) {
727 logIfEnabled(FQCN, Level.ERROR, null, message, t);
728 }
729
730 @Override
731 public void error(final String message) {
732 logIfEnabled(FQCN, Level.ERROR, null, message, (Throwable) null);
733 }
734
735 @Override
736 public void error(final String message, final Object... params) {
737 logIfEnabled(FQCN, Level.ERROR, null, message, params);
738 }
739
740 @Override
741 public void error(final String message, final Throwable t) {
742 logIfEnabled(FQCN, Level.ERROR, null, message, t);
743 }
744
745 @Override
746 public void error(final Supplier<?> msgSupplier) {
747 logIfEnabled(FQCN, Level.ERROR, null, msgSupplier, (Throwable) null);
748 }
749
750 @Override
751 public void error(final Supplier<?> msgSupplier, final Throwable t) {
752 logIfEnabled(FQCN, Level.ERROR, null, msgSupplier, t);
753 }
754
755 @Override
756 public void error(final Marker marker, final Supplier<?> msgSupplier) {
757 logIfEnabled(FQCN, Level.ERROR, marker, msgSupplier, (Throwable) null);
758 }
759
760 @Override
761 public void error(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
762 logIfEnabled(FQCN, Level.ERROR, marker, message, paramSuppliers);
763 }
764
765 @Override
766 public void error(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
767 logIfEnabled(FQCN, Level.ERROR, marker, msgSupplier, t);
768 }
769
770 @Override
771 public void error(final String message, final Supplier<?>... paramSuppliers) {
772 logIfEnabled(FQCN, Level.ERROR, null, message, paramSuppliers);
773 }
774
775 @Override
776 public void error(final Marker marker, final MessageSupplier msgSupplier) {
777 logIfEnabled(FQCN, Level.ERROR, marker, msgSupplier, (Throwable) null);
778 }
779
780 @Override
781 public void error(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
782 logIfEnabled(FQCN, Level.ERROR, marker, msgSupplier, t);
783 }
784
785 @Override
786 public void error(final MessageSupplier msgSupplier) {
787 logIfEnabled(FQCN, Level.ERROR, null, msgSupplier, (Throwable) null);
788 }
789
790 @Override
791 public void error(final MessageSupplier msgSupplier, final Throwable t) {
792 logIfEnabled(FQCN, Level.ERROR, null, msgSupplier, t);
793 }
794
795 @Override
796 public void error(final Marker marker, final String message, final Object p0) {
797 logIfEnabled(FQCN, Level.ERROR, marker, message, p0);
798 }
799
800 @Override
801 public void error(final Marker marker, final String message, final Object p0, final Object p1) {
802 logIfEnabled(FQCN, Level.ERROR, marker, message, p0, p1);
803 }
804
805 @Override
806 public void error(final Marker marker, final String message, final Object p0, final Object p1, final Object p2) {
807 logIfEnabled(FQCN, Level.ERROR, marker, message, p0, p1, p2);
808 }
809
810 @Override
811 public void error(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
812 final Object p3) {
813 logIfEnabled(FQCN, Level.ERROR, marker, message, p0, p1, p2, p3);
814 }
815
816 @Override
817 public void error(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
818 final Object p3, final Object p4) {
819 logIfEnabled(FQCN, Level.ERROR, marker, message, p0, p1, p2, p3, p4);
820 }
821
822 @Override
823 public void error(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
824 final Object p3, final Object p4, final Object p5) {
825 logIfEnabled(FQCN, Level.ERROR, marker, message, p0, p1, p2, p3, p4, p5);
826 }
827
828 @Override
829 public void error(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
830 final Object p3, final Object p4, final Object p5,
831 final Object p6) {
832 logIfEnabled(FQCN, Level.ERROR, marker, message, p0, p1, p2, p3, p4, p5, p6);
833 }
834
835 @Override
836 public void error(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
837 final Object p3, final Object p4, final Object p5,
838 final Object p6, final Object p7) {
839 logIfEnabled(FQCN, Level.ERROR, marker, message, p0, p1, p2, p3, p4, p5, p6, p7);
840 }
841
842 @Override
843 public void error(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
844 final Object p3, final Object p4, final Object p5,
845 final Object p6, final Object p7, final Object p8) {
846 logIfEnabled(FQCN, Level.ERROR, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
847 }
848
849 @Override
850 public void error(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
851 final Object p3, final Object p4, final Object p5,
852 final Object p6, final Object p7, final Object p8, final Object p9) {
853 logIfEnabled(FQCN, Level.ERROR, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
854 }
855
856 @Override
857 public void error(final String message, final Object p0) {
858 logIfEnabled(FQCN, Level.ERROR, null, message, p0);
859 }
860
861 @Override
862 public void error(final String message, final Object p0, final Object p1) {
863 logIfEnabled(FQCN, Level.ERROR, null, message, p0, p1);
864 }
865
866 @Override
867 public void error(final String message, final Object p0, final Object p1, final Object p2) {
868 logIfEnabled(FQCN, Level.ERROR, null, message, p0, p1, p2);
869 }
870
871 @Override
872 public void error(final String message, final Object p0, final Object p1, final Object p2, final Object p3) {
873 logIfEnabled(FQCN, Level.ERROR, null, message, p0, p1, p2, p3);
874 }
875
876 @Override
877 public void error(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
878 final Object p4) {
879 logIfEnabled(FQCN, Level.ERROR, null, message, p0, p1, p2, p3, p4);
880 }
881
882 @Override
883 public void error(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
884 final Object p4, final Object p5) {
885 logIfEnabled(FQCN, Level.ERROR, null, message, p0, p1, p2, p3, p4, p5);
886 }
887
888 @Override
889 public void error(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
890 final Object p4, final Object p5, final Object p6) {
891 logIfEnabled(FQCN, Level.ERROR, null, message, p0, p1, p2, p3, p4, p5, p6);
892 }
893
894 @Override
895 public void error(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
896 final Object p4, final Object p5, final Object p6, final Object p7) {
897 logIfEnabled(FQCN, Level.ERROR, null, message, p0, p1, p2, p3, p4, p5, p6, p7);
898 }
899
900 @Override
901 public void error(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
902 final Object p4, final Object p5, final Object p6, final Object p7, final Object p8) {
903 logIfEnabled(FQCN, Level.ERROR, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
904 }
905
906 @Override
907 public void error(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
908 final Object p4, final Object p5, final Object p6, final Object p7, final Object p8, final Object p9) {
909 logIfEnabled(FQCN, Level.ERROR, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
910 }
911
912 @Deprecated
913 @Override
914 public void exit() {
915 exit(FQCN, (Object) null);
916 }
917
918 @Deprecated
919 @Override
920 public <R> R exit(final R result) {
921 return exit(FQCN, result);
922 }
923
924
925
926
927
928
929
930
931
932 protected <R> R exit(final String fqcn, final R result) {
933 if (isEnabled(Level.TRACE, EXIT_MARKER, (CharSequence) null, null)) {
934 logMessageSafely(fqcn, Level.TRACE, EXIT_MARKER, exitMsg(null, result), null);
935 }
936 return result;
937 }
938
939
940
941
942
943
944
945
946
947 protected <R> R exit(final String fqcn, final String format, final R result) {
948 if (isEnabled(Level.TRACE, EXIT_MARKER, (CharSequence) null, null)) {
949 logMessageSafely(fqcn, Level.TRACE, EXIT_MARKER, exitMsg(format, result), null);
950 }
951 return result;
952 }
953
954 protected Message exitMsg(final String format, final Object result) {
955 if (result == null) {
956 if (format == null) {
957 return messageFactory.newMessage("Exit");
958 }
959 return messageFactory.newMessage("Exit: " + format);
960 }
961 if (format == null) {
962 return messageFactory.newMessage("Exit with(" + result + ')');
963 }
964 return messageFactory.newMessage("Exit: " + format, result);
965
966 }
967
968 @Override
969 public void fatal(final Marker marker, final Message msg) {
970 logIfEnabled(FQCN, Level.FATAL, marker, msg, msg != null ? msg.getThrowable() : null);
971 }
972
973 @Override
974 public void fatal(final Marker marker, final Message msg, final Throwable t) {
975 logIfEnabled(FQCN, Level.FATAL, marker, msg, t);
976 }
977
978 @Override
979 public void fatal(final Marker marker, final CharSequence message) {
980 logIfEnabled(FQCN, Level.FATAL, marker, message, null);
981 }
982
983 @Override
984 public void fatal(final Marker marker, final CharSequence message, final Throwable t) {
985 logIfEnabled(FQCN, Level.FATAL, marker, message, t);
986 }
987
988 @Override
989 public void fatal(final Marker marker, final Object message) {
990 logIfEnabled(FQCN, Level.FATAL, marker, message, null);
991 }
992
993 @Override
994 public void fatal(final Marker marker, final Object message, final Throwable t) {
995 logIfEnabled(FQCN, Level.FATAL, marker, message, t);
996 }
997
998 @Override
999 public void fatal(final Marker marker, final String message) {
1000 logIfEnabled(FQCN, Level.FATAL, marker, message, (Throwable) null);
1001 }
1002
1003 @Override
1004 public void fatal(final Marker marker, final String message, final Object... params) {
1005 logIfEnabled(FQCN, Level.FATAL, marker, message, params);
1006 }
1007
1008 @Override
1009 public void fatal(final Marker marker, final String message, final Throwable t) {
1010 logIfEnabled(FQCN, Level.FATAL, marker, message, t);
1011 }
1012
1013 @Override
1014 public void fatal(final Message msg) {
1015 logIfEnabled(FQCN, Level.FATAL, null, msg, msg != null ? msg.getThrowable() : null);
1016 }
1017
1018 @Override
1019 public void fatal(final Message msg, final Throwable t) {
1020 logIfEnabled(FQCN, Level.FATAL, null, msg, t);
1021 }
1022
1023 @Override
1024 public void fatal(final CharSequence message) {
1025 logIfEnabled(FQCN, Level.FATAL, null, message, null);
1026 }
1027
1028 @Override
1029 public void fatal(final CharSequence message, final Throwable t) {
1030 logIfEnabled(FQCN, Level.FATAL, null, message, t);
1031 }
1032
1033 @Override
1034 public void fatal(final Object message) {
1035 logIfEnabled(FQCN, Level.FATAL, null, message, null);
1036 }
1037
1038 @Override
1039 public void fatal(final Object message, final Throwable t) {
1040 logIfEnabled(FQCN, Level.FATAL, null, message, t);
1041 }
1042
1043 @Override
1044 public void fatal(final String message) {
1045 logIfEnabled(FQCN, Level.FATAL, null, message, (Throwable) null);
1046 }
1047
1048 @Override
1049 public void fatal(final String message, final Object... params) {
1050 logIfEnabled(FQCN, Level.FATAL, null, message, params);
1051 }
1052
1053 @Override
1054 public void fatal(final String message, final Throwable t) {
1055 logIfEnabled(FQCN, Level.FATAL, null, message, t);
1056 }
1057
1058 @Override
1059 public void fatal(final Supplier<?> msgSupplier) {
1060 logIfEnabled(FQCN, Level.FATAL, null, msgSupplier, (Throwable) null);
1061 }
1062
1063 @Override
1064 public void fatal(final Supplier<?> msgSupplier, final Throwable t) {
1065 logIfEnabled(FQCN, Level.FATAL, null, msgSupplier, t);
1066 }
1067
1068 @Override
1069 public void fatal(final Marker marker, final Supplier<?> msgSupplier) {
1070 logIfEnabled(FQCN, Level.FATAL, marker, msgSupplier, (Throwable) null);
1071 }
1072
1073 @Override
1074 public void fatal(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
1075 logIfEnabled(FQCN, Level.FATAL, marker, message, paramSuppliers);
1076 }
1077
1078 @Override
1079 public void fatal(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
1080 logIfEnabled(FQCN, Level.FATAL, marker, msgSupplier, t);
1081 }
1082
1083 @Override
1084 public void fatal(final String message, final Supplier<?>... paramSuppliers) {
1085 logIfEnabled(FQCN, Level.FATAL, null, message, paramSuppliers);
1086 }
1087
1088 @Override
1089 public void fatal(final Marker marker, final MessageSupplier msgSupplier) {
1090 logIfEnabled(FQCN, Level.FATAL, marker, msgSupplier, (Throwable) null);
1091 }
1092
1093 @Override
1094 public void fatal(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
1095 logIfEnabled(FQCN, Level.FATAL, marker, msgSupplier, t);
1096 }
1097
1098 @Override
1099 public void fatal(final MessageSupplier msgSupplier) {
1100 logIfEnabled(FQCN, Level.FATAL, null, msgSupplier, (Throwable) null);
1101 }
1102
1103 @Override
1104 public void fatal(final MessageSupplier msgSupplier, final Throwable t) {
1105 logIfEnabled(FQCN, Level.FATAL, null, msgSupplier, t);
1106 }
1107
1108 @Override
1109 public void fatal(final Marker marker, final String message, final Object p0) {
1110 logIfEnabled(FQCN, Level.FATAL, marker, message, p0);
1111 }
1112
1113 @Override
1114 public void fatal(final Marker marker, final String message, final Object p0, final Object p1) {
1115 logIfEnabled(FQCN, Level.FATAL, marker, message, p0, p1);
1116 }
1117
1118 @Override
1119 public void fatal(final Marker marker, final String message, final Object p0, final Object p1, final Object p2) {
1120 logIfEnabled(FQCN, Level.FATAL, marker, message, p0, p1, p2);
1121 }
1122
1123 @Override
1124 public void fatal(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1125 final Object p3) {
1126 logIfEnabled(FQCN, Level.FATAL, marker, message, p0, p1, p2, p3);
1127 }
1128
1129 @Override
1130 public void fatal(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1131 final Object p3, final Object p4) {
1132 logIfEnabled(FQCN, Level.FATAL, marker, message, p0, p1, p2, p3, p4);
1133 }
1134
1135 @Override
1136 public void fatal(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1137 final Object p3, final Object p4, final Object p5) {
1138 logIfEnabled(FQCN, Level.FATAL, marker, message, p0, p1, p2, p3, p4, p5);
1139 }
1140
1141 @Override
1142 public void fatal(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1143 final Object p3, final Object p4, final Object p5, final Object p6) {
1144 logIfEnabled(FQCN, Level.FATAL, marker, message, p0, p1, p2, p3, p4, p5, p6);
1145 }
1146
1147 @Override
1148 public void fatal(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1149 final Object p3, final Object p4, final Object p5, final Object p6, final Object p7) {
1150 logIfEnabled(FQCN, Level.FATAL, marker, message, p0, p1, p2, p3, p4, p5, p6, p7);
1151 }
1152
1153 @Override
1154 public void fatal(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1155 final Object p3, final Object p4, final Object p5,
1156 final Object p6, final Object p7, final Object p8) {
1157 logIfEnabled(FQCN, Level.FATAL, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
1158 }
1159
1160 @Override
1161 public void fatal(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1162 final Object p3, final Object p4, final Object p5,
1163 final Object p6, final Object p7, final Object p8, final Object p9) {
1164 logIfEnabled(FQCN, Level.FATAL, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
1165 }
1166
1167 @Override
1168 public void fatal(final String message, final Object p0) {
1169 logIfEnabled(FQCN, Level.FATAL, null, message, p0);
1170 }
1171
1172 @Override
1173 public void fatal(final String message, final Object p0, final Object p1) {
1174 logIfEnabled(FQCN, Level.FATAL, null, message, p0, p1);
1175 }
1176
1177 @Override
1178 public void fatal(final String message, final Object p0, final Object p1, final Object p2) {
1179 logIfEnabled(FQCN, Level.FATAL, null, message, p0, p1, p2);
1180 }
1181
1182 @Override
1183 public void fatal(final String message, final Object p0, final Object p1, final Object p2, final Object p3) {
1184 logIfEnabled(FQCN, Level.FATAL, null, message, p0, p1, p2, p3);
1185 }
1186
1187 @Override
1188 public void fatal(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1189 final Object p4) {
1190 logIfEnabled(FQCN, Level.FATAL, null, message, p0, p1, p2, p3, p4);
1191 }
1192
1193 @Override
1194 public void fatal(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1195 final Object p4, final Object p5) {
1196 logIfEnabled(FQCN, Level.FATAL, null, message, p0, p1, p2, p3, p4, p5);
1197 }
1198
1199 @Override
1200 public void fatal(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1201 final Object p4, final Object p5, final Object p6) {
1202 logIfEnabled(FQCN, Level.FATAL, null, message, p0, p1, p2, p3, p4, p5, p6);
1203 }
1204
1205 @Override
1206 public void fatal(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1207 final Object p4, final Object p5, final Object p6, final Object p7) {
1208 logIfEnabled(FQCN, Level.FATAL, null, message, p0, p1, p2, p3, p4, p5, p6, p7);
1209 }
1210
1211 @Override
1212 public void fatal(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1213 final Object p4, final Object p5, final Object p6, final Object p7, final Object p8) {
1214 logIfEnabled(FQCN, Level.FATAL, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
1215 }
1216
1217 @Override
1218 public void fatal(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1219 final Object p4, final Object p5, final Object p6,
1220 final Object p7, final Object p8, final Object p9) {
1221 logIfEnabled(FQCN, Level.FATAL, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
1222 }
1223
1224 @SuppressWarnings("unchecked")
1225 @Override
1226 public <MF extends MessageFactory> MF getMessageFactory() {
1227 return (MF) messageFactory;
1228 }
1229
1230 @Override
1231 public String getName() {
1232 return name;
1233 }
1234
1235 @Override
1236 public void info(final Marker marker, final Message msg) {
1237 logIfEnabled(FQCN, Level.INFO, marker, msg, msg != null ? msg.getThrowable() : null);
1238 }
1239
1240 @Override
1241 public void info(final Marker marker, final Message msg, final Throwable t) {
1242 logIfEnabled(FQCN, Level.INFO, marker, msg, t);
1243 }
1244
1245 @Override
1246 public void info(final Marker marker, final CharSequence message) {
1247 logIfEnabled(FQCN, Level.INFO, marker, message, null);
1248 }
1249
1250 @Override
1251 public void info(final Marker marker, final CharSequence message, final Throwable t) {
1252 logIfEnabled(FQCN, Level.INFO, marker, message, t);
1253 }
1254
1255 @Override
1256 public void info(final Marker marker, final Object message) {
1257 logIfEnabled(FQCN, Level.INFO, marker, message, null);
1258 }
1259
1260 @Override
1261 public void info(final Marker marker, final Object message, final Throwable t) {
1262 logIfEnabled(FQCN, Level.INFO, marker, message, t);
1263 }
1264
1265 @Override
1266 public void info(final Marker marker, final String message) {
1267 logIfEnabled(FQCN, Level.INFO, marker, message, (Throwable) null);
1268 }
1269
1270 @Override
1271 public void info(final Marker marker, final String message, final Object... params) {
1272 logIfEnabled(FQCN, Level.INFO, marker, message, params);
1273 }
1274
1275 @Override
1276 public void info(final Marker marker, final String message, final Throwable t) {
1277 logIfEnabled(FQCN, Level.INFO, marker, message, t);
1278 }
1279
1280 @Override
1281 public void info(final Message msg) {
1282 logIfEnabled(FQCN, Level.INFO, null, msg, msg != null ? msg.getThrowable() : null);
1283 }
1284
1285 @Override
1286 public void info(final Message msg, final Throwable t) {
1287 logIfEnabled(FQCN, Level.INFO, null, msg, t);
1288 }
1289
1290 @Override
1291 public void info(final CharSequence message) {
1292 logIfEnabled(FQCN, Level.INFO, null, message, null);
1293 }
1294
1295 @Override
1296 public void info(final CharSequence message, final Throwable t) {
1297 logIfEnabled(FQCN, Level.INFO, null, message, t);
1298 }
1299
1300 @Override
1301 public void info(final Object message) {
1302 logIfEnabled(FQCN, Level.INFO, null, message, null);
1303 }
1304
1305 @Override
1306 public void info(final Object message, final Throwable t) {
1307 logIfEnabled(FQCN, Level.INFO, null, message, t);
1308 }
1309
1310 @Override
1311 public void info(final String message) {
1312 logIfEnabled(FQCN, Level.INFO, null, message, (Throwable) null);
1313 }
1314
1315 @Override
1316 public void info(final String message, final Object... params) {
1317 logIfEnabled(FQCN, Level.INFO, null, message, params);
1318 }
1319
1320 @Override
1321 public void info(final String message, final Throwable t) {
1322 logIfEnabled(FQCN, Level.INFO, null, message, t);
1323 }
1324
1325 @Override
1326 public void info(final Supplier<?> msgSupplier) {
1327 logIfEnabled(FQCN, Level.INFO, null, msgSupplier, (Throwable) null);
1328 }
1329
1330 @Override
1331 public void info(final Supplier<?> msgSupplier, final Throwable t) {
1332 logIfEnabled(FQCN, Level.INFO, null, msgSupplier, t);
1333 }
1334
1335 @Override
1336 public void info(final Marker marker, final Supplier<?> msgSupplier) {
1337 logIfEnabled(FQCN, Level.INFO, marker, msgSupplier, (Throwable) null);
1338 }
1339
1340 @Override
1341 public void info(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
1342 logIfEnabled(FQCN, Level.INFO, marker, message, paramSuppliers);
1343 }
1344
1345 @Override
1346 public void info(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
1347 logIfEnabled(FQCN, Level.INFO, marker, msgSupplier, t);
1348 }
1349
1350 @Override
1351 public void info(final String message, final Supplier<?>... paramSuppliers) {
1352 logIfEnabled(FQCN, Level.INFO, null, message, paramSuppliers);
1353 }
1354
1355 @Override
1356 public void info(final Marker marker, final MessageSupplier msgSupplier) {
1357 logIfEnabled(FQCN, Level.INFO, marker, msgSupplier, (Throwable) null);
1358 }
1359
1360 @Override
1361 public void info(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
1362 logIfEnabled(FQCN, Level.INFO, marker, msgSupplier, t);
1363 }
1364
1365 @Override
1366 public void info(final MessageSupplier msgSupplier) {
1367 logIfEnabled(FQCN, Level.INFO, null, msgSupplier, (Throwable) null);
1368 }
1369
1370 @Override
1371 public void info(final MessageSupplier msgSupplier, final Throwable t) {
1372 logIfEnabled(FQCN, Level.INFO, null, msgSupplier, t);
1373 }
1374
1375 @Override
1376 public void info(final Marker marker, final String message, final Object p0) {
1377 logIfEnabled(FQCN, Level.INFO, marker, message, p0);
1378 }
1379
1380 @Override
1381 public void info(final Marker marker, final String message, final Object p0, final Object p1) {
1382 logIfEnabled(FQCN, Level.INFO, marker, message, p0, p1);
1383 }
1384
1385 @Override
1386 public void info(final Marker marker, final String message, final Object p0, final Object p1, final Object p2) {
1387 logIfEnabled(FQCN, Level.INFO, marker, message, p0, p1, p2);
1388 }
1389
1390 @Override
1391 public void info(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1392 final Object p3) {
1393 logIfEnabled(FQCN, Level.INFO, marker, message, p0, p1, p2, p3);
1394 }
1395
1396 @Override
1397 public void info(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1398 final Object p3, final Object p4) {
1399 logIfEnabled(FQCN, Level.INFO, marker, message, p0, p1, p2, p3, p4);
1400 }
1401
1402 @Override
1403 public void info(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1404 final Object p3, final Object p4, final Object p5) {
1405 logIfEnabled(FQCN, Level.INFO, marker, message, p0, p1, p2, p3, p4, p5);
1406 }
1407
1408 @Override
1409 public void info(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1410 final Object p3, final Object p4, final Object p5, final Object p6) {
1411 logIfEnabled(FQCN, Level.INFO, marker, message, p0, p1, p2, p3, p4, p5, p6);
1412 }
1413
1414 @Override
1415 public void info(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1416 final Object p3, final Object p4, final Object p5, final Object p6, final Object p7) {
1417 logIfEnabled(FQCN, Level.INFO, marker, message, p0, p1, p2, p3, p4, p5, p6, p7);
1418 }
1419
1420 @Override
1421 public void info(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1422 final Object p3, final Object p4, final Object p5,
1423 final Object p6, final Object p7, final Object p8) {
1424 logIfEnabled(FQCN, Level.INFO, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
1425 }
1426
1427 @Override
1428 public void info(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
1429 final Object p3, final Object p4, final Object p5,
1430 final Object p6, final Object p7, final Object p8, final Object p9) {
1431 logIfEnabled(FQCN, Level.INFO, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
1432 }
1433
1434 @Override
1435 public void info(final String message, final Object p0) {
1436 logIfEnabled(FQCN, Level.INFO, null, message, p0);
1437 }
1438
1439 @Override
1440 public void info(final String message, final Object p0, final Object p1) {
1441 logIfEnabled(FQCN, Level.INFO, null, message, p0, p1);
1442 }
1443
1444 @Override
1445 public void info(final String message, final Object p0, final Object p1, final Object p2) {
1446 logIfEnabled(FQCN, Level.INFO, null, message, p0, p1, p2);
1447 }
1448
1449 @Override
1450 public void info(final String message, final Object p0, final Object p1, final Object p2, final Object p3) {
1451 logIfEnabled(FQCN, Level.INFO, null, message, p0, p1, p2, p3);
1452 }
1453
1454 @Override
1455 public void info(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1456 final Object p4) {
1457 logIfEnabled(FQCN, Level.INFO, null, message, p0, p1, p2, p3, p4);
1458 }
1459
1460 @Override
1461 public void info(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1462 final Object p4, final Object p5) {
1463 logIfEnabled(FQCN, Level.INFO, null, message, p0, p1, p2, p3, p4, p5);
1464 }
1465
1466 @Override
1467 public void info(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1468 final Object p4, final Object p5, final Object p6) {
1469 logIfEnabled(FQCN, Level.INFO, null, message, p0, p1, p2, p3, p4, p5, p6);
1470 }
1471
1472 @Override
1473 public void info(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1474 final Object p4, final Object p5, final Object p6,
1475 final Object p7) {
1476 logIfEnabled(FQCN, Level.INFO, null, message, p0, p1, p2, p3, p4, p5, p6, p7);
1477 }
1478
1479 @Override
1480 public void info(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1481 final Object p4, final Object p5, final Object p6,
1482 final Object p7, final Object p8) {
1483 logIfEnabled(FQCN, Level.INFO, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
1484 }
1485
1486 @Override
1487 public void info(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1488 final Object p4, final Object p5, final Object p6,
1489 final Object p7, final Object p8, final Object p9) {
1490 logIfEnabled(FQCN, Level.INFO, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
1491 }
1492
1493 @Override
1494 public boolean isDebugEnabled() {
1495 return isEnabled(Level.DEBUG, null, null);
1496 }
1497
1498 @Override
1499 public boolean isDebugEnabled(final Marker marker) {
1500 return isEnabled(Level.DEBUG, marker, (Object) null, null);
1501 }
1502
1503 @Override
1504 public boolean isEnabled(final Level level) {
1505 return isEnabled(level, null, (Object) null, null);
1506 }
1507
1508 @Override
1509 public boolean isEnabled(final Level level, final Marker marker) {
1510 return isEnabled(level, marker, (Object) null, null);
1511 }
1512
1513 @Override
1514 public boolean isErrorEnabled() {
1515 return isEnabled(Level.ERROR, null, (Object) null, null);
1516 }
1517
1518 @Override
1519 public boolean isErrorEnabled(final Marker marker) {
1520 return isEnabled(Level.ERROR, marker, (Object) null, null);
1521 }
1522
1523 @Override
1524 public boolean isFatalEnabled() {
1525 return isEnabled(Level.FATAL, null, (Object) null, null);
1526 }
1527
1528 @Override
1529 public boolean isFatalEnabled(final Marker marker) {
1530 return isEnabled(Level.FATAL, marker, (Object) null, null);
1531 }
1532
1533 @Override
1534 public boolean isInfoEnabled() {
1535 return isEnabled(Level.INFO, null, (Object) null, null);
1536 }
1537
1538 @Override
1539 public boolean isInfoEnabled(final Marker marker) {
1540 return isEnabled(Level.INFO, marker, (Object) null, null);
1541 }
1542
1543 @Override
1544 public boolean isTraceEnabled() {
1545 return isEnabled(Level.TRACE, null, (Object) null, null);
1546 }
1547
1548 @Override
1549 public boolean isTraceEnabled(final Marker marker) {
1550 return isEnabled(Level.TRACE, marker, (Object) null, null);
1551 }
1552
1553 @Override
1554 public boolean isWarnEnabled() {
1555 return isEnabled(Level.WARN, null, (Object) null, null);
1556 }
1557
1558 @Override
1559 public boolean isWarnEnabled(final Marker marker) {
1560 return isEnabled(Level.WARN, marker, (Object) null, null);
1561 }
1562
1563 @Override
1564 public void log(final Level level, final Marker marker, final Message msg) {
1565 logIfEnabled(FQCN, level, marker, msg, msg != null ? msg.getThrowable() : null);
1566 }
1567
1568 @Override
1569 public void log(final Level level, final Marker marker, final Message msg, final Throwable t) {
1570 logIfEnabled(FQCN, level, marker, msg, t);
1571 }
1572
1573 @Override
1574 public void log(final Level level, final Marker marker, final CharSequence message) {
1575 logIfEnabled(FQCN, level, marker, message, (Throwable) null);
1576 }
1577
1578 @Override
1579 public void log(final Level level, final Marker marker, final CharSequence message, final Throwable t) {
1580 if (isEnabled(level, marker, message, t)) {
1581 logMessage(FQCN, level, marker, message, t);
1582 }
1583 }
1584
1585 @Override
1586 public void log(final Level level, final Marker marker, final Object message) {
1587 logIfEnabled(FQCN, level, marker, message, (Throwable) null);
1588 }
1589
1590 @Override
1591 public void log(final Level level, final Marker marker, final Object message, final Throwable t) {
1592 if (isEnabled(level, marker, message, t)) {
1593 logMessage(FQCN, level, marker, message, t);
1594 }
1595 }
1596
1597 @Override
1598 public void log(final Level level, final Marker marker, final String message) {
1599 logIfEnabled(FQCN, level, marker, message, (Throwable) null);
1600 }
1601
1602 @Override
1603 public void log(final Level level, final Marker marker, final String message, final Object... params) {
1604 logIfEnabled(FQCN, level, marker, message, params);
1605 }
1606
1607 @Override
1608 public void log(final Level level, final Marker marker, final String message, final Throwable t) {
1609 logIfEnabled(FQCN, level, marker, message, t);
1610 }
1611
1612 @Override
1613 public void log(final Level level, final Message msg) {
1614 logIfEnabled(FQCN, level, null, msg, msg != null ? msg.getThrowable() : null);
1615 }
1616
1617 @Override
1618 public void log(final Level level, final Message msg, final Throwable t) {
1619 logIfEnabled(FQCN, level, null, msg, t);
1620 }
1621
1622 @Override
1623 public void log(final Level level, final CharSequence message) {
1624 logIfEnabled(FQCN, level, null, message, null);
1625 }
1626
1627 @Override
1628 public void log(final Level level, final CharSequence message, final Throwable t) {
1629 logIfEnabled(FQCN, level, null, message, t);
1630 }
1631
1632 @Override
1633 public void log(final Level level, final Object message) {
1634 logIfEnabled(FQCN, level, null, message, null);
1635 }
1636
1637 @Override
1638 public void log(final Level level, final Object message, final Throwable t) {
1639 logIfEnabled(FQCN, level, null, message, t);
1640 }
1641
1642 @Override
1643 public void log(final Level level, final String message) {
1644 logIfEnabled(FQCN, level, null, message, (Throwable) null);
1645 }
1646
1647 @Override
1648 public void log(final Level level, final String message, final Object... params) {
1649 logIfEnabled(FQCN, level, null, message, params);
1650 }
1651
1652 @Override
1653 public void log(final Level level, final String message, final Throwable t) {
1654 logIfEnabled(FQCN, level, null, message, t);
1655 }
1656
1657 @Override
1658 public void log(final Level level, final Supplier<?> msgSupplier) {
1659 logIfEnabled(FQCN, level, null, msgSupplier, (Throwable) null);
1660 }
1661
1662 @Override
1663 public void log(final Level level, final Supplier<?> msgSupplier, final Throwable t) {
1664 logIfEnabled(FQCN, level, null, msgSupplier, t);
1665 }
1666
1667 @Override
1668 public void log(final Level level, final Marker marker, final Supplier<?> msgSupplier) {
1669 logIfEnabled(FQCN, level, marker, msgSupplier, (Throwable) null);
1670 }
1671
1672 @Override
1673 public void log(final Level level, final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
1674 logIfEnabled(FQCN, level, marker, message, paramSuppliers);
1675 }
1676
1677 @Override
1678 public void log(final Level level, final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
1679 logIfEnabled(FQCN, level, marker, msgSupplier, t);
1680 }
1681
1682 @Override
1683 public void log(final Level level, final String message, final Supplier<?>... paramSuppliers) {
1684 logIfEnabled(FQCN, level, null, message, paramSuppliers);
1685 }
1686
1687 @Override
1688 public void log(final Level level, final Marker marker, final MessageSupplier msgSupplier) {
1689 logIfEnabled(FQCN, level, marker, msgSupplier, (Throwable) null);
1690 }
1691
1692 @Override
1693 public void log(final Level level, final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
1694 logIfEnabled(FQCN, level, marker, msgSupplier, t);
1695 }
1696
1697 @Override
1698 public void log(final Level level, final MessageSupplier msgSupplier) {
1699 logIfEnabled(FQCN, level, null, msgSupplier, (Throwable) null);
1700 }
1701
1702 @Override
1703 public void log(final Level level, final MessageSupplier msgSupplier, final Throwable t) {
1704 logIfEnabled(FQCN, level, null, msgSupplier, t);
1705 }
1706
1707 @Override
1708 public void log(final Level level, final Marker marker, final String message, final Object p0) {
1709 logIfEnabled(FQCN, level, marker, message, p0);
1710 }
1711
1712 @Override
1713 public void log(final Level level, final Marker marker, final String message, final Object p0, final Object p1) {
1714 logIfEnabled(FQCN, level, marker, message, p0, p1);
1715 }
1716
1717 @Override
1718 public void log(final Level level, final Marker marker, final String message, final Object p0, final Object p1,
1719 final Object p2) {
1720 logIfEnabled(FQCN, level, marker, message, p0, p1, p2);
1721 }
1722
1723 @Override
1724 public void log(final Level level, final Marker marker, final String message, final Object p0, final Object p1,
1725 final Object p2, final Object p3) {
1726 logIfEnabled(FQCN, level, marker, message, p0, p1, p2, p3);
1727 }
1728
1729 @Override
1730 public void log(final Level level, final Marker marker, final String message, final Object p0, final Object p1,
1731 final Object p2, final Object p3, final Object p4) {
1732 logIfEnabled(FQCN, level, marker, message, p0, p1, p2, p3, p4);
1733 }
1734
1735 @Override
1736 public void log(final Level level, final Marker marker, final String message, final Object p0, final Object p1,
1737 final Object p2, final Object p3, final Object p4, final Object p5) {
1738 logIfEnabled(FQCN, level, marker, message, p0, p1, p2, p3, p4, p5);
1739 }
1740
1741 @Override
1742 public void log(final Level level, final Marker marker, final String message, final Object p0, final Object p1,
1743 final Object p2, final Object p3, final Object p4, final Object p5, final Object p6) {
1744 logIfEnabled(FQCN, level, marker, message, p0, p1, p2, p3, p4, p5, p6);
1745 }
1746
1747 @Override
1748 public void log(final Level level, final Marker marker, final String message, final Object p0, final Object p1,
1749 final Object p2, final Object p3, final Object p4, final Object p5,
1750 final Object p6, final Object p7) {
1751 logIfEnabled(FQCN, level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7);
1752 }
1753
1754 @Override
1755 public void log(final Level level, final Marker marker, final String message, final Object p0, final Object p1,
1756 final Object p2, final Object p3, final Object p4, final Object p5,
1757 final Object p6, final Object p7, final Object p8) {
1758 logIfEnabled(FQCN, level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
1759 }
1760
1761 @Override
1762 public void log(final Level level, final Marker marker, final String message, final Object p0, final Object p1,
1763 final Object p2, final Object p3, final Object p4, final Object p5,
1764 final Object p6, final Object p7, final Object p8, final Object p9) {
1765 logIfEnabled(FQCN, level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
1766 }
1767
1768 @Override
1769 public void log(final Level level, final String message, final Object p0) {
1770 logIfEnabled(FQCN, level, null, message, p0);
1771 }
1772
1773 @Override
1774 public void log(final Level level, final String message, final Object p0, final Object p1) {
1775 logIfEnabled(FQCN, level, null, message, p0, p1);
1776 }
1777
1778 @Override
1779 public void log(final Level level, final String message, final Object p0, final Object p1, final Object p2) {
1780 logIfEnabled(FQCN, level, null, message, p0, p1, p2);
1781 }
1782
1783 @Override
1784 public void log(final Level level, final String message, final Object p0, final Object p1, final Object p2, final Object p3) {
1785 logIfEnabled(FQCN, level, null, message, p0, p1, p2, p3);
1786 }
1787
1788 @Override
1789 public void log(final Level level, final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1790 final Object p4) {
1791 logIfEnabled(FQCN, level, null, message, p0, p1, p2, p3, p4);
1792 }
1793
1794 @Override
1795 public void log(final Level level, final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1796 final Object p4, final Object p5) {
1797 logIfEnabled(FQCN, level, null, message, p0, p1, p2, p3, p4, p5);
1798 }
1799
1800 @Override
1801 public void log(final Level level, final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1802 final Object p4, final Object p5, final Object p6) {
1803 logIfEnabled(FQCN, level, null, message, p0, p1, p2, p3, p4, p5, p6);
1804 }
1805
1806 @Override
1807 public void log(final Level level, final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1808 final Object p4, final Object p5, final Object p6, final Object p7) {
1809 logIfEnabled(FQCN, level, null, message, p0, p1, p2, p3, p4, p5, p6, p7);
1810 }
1811
1812 @Override
1813 public void log(final Level level, final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1814 final Object p4, final Object p5, final Object p6, final Object p7, final Object p8) {
1815 logIfEnabled(FQCN, level, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
1816 }
1817
1818 @Override
1819 public void log(final Level level, final String message, final Object p0, final Object p1, final Object p2, final Object p3,
1820 final Object p4, final Object p5, final Object p6, final Object p7, final Object p8, final Object p9) {
1821 logIfEnabled(FQCN, level, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
1822 }
1823
1824 @Override
1825 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final Message msg,
1826 final Throwable t) {
1827 if (isEnabled(level, marker, msg, t)) {
1828 logMessageSafely(fqcn, level, marker, msg, t);
1829 }
1830 }
1831
1832 @Override
1833 public void logIfEnabled(final String fqcn, final Level level, final Marker marker,
1834 final MessageSupplier msgSupplier, final Throwable t) {
1835 if (isEnabled(level, marker, msgSupplier, t)) {
1836 logMessage(fqcn, level, marker, msgSupplier, t);
1837 }
1838 }
1839
1840 @Override
1841 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final Object message,
1842 final Throwable t) {
1843 if (isEnabled(level, marker, message, t)) {
1844 logMessage(fqcn, level, marker, message, t);
1845 }
1846 }
1847
1848 @Override
1849 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final CharSequence message,
1850 final Throwable t) {
1851 if (isEnabled(level, marker, message, t)) {
1852 logMessage(fqcn, level, marker, message, t);
1853 }
1854 }
1855
1856 @Override
1857 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final Supplier<?> msgSupplier,
1858 final Throwable t) {
1859 if (isEnabled(level, marker, msgSupplier, t)) {
1860 logMessage(fqcn, level, marker, msgSupplier, t);
1861 }
1862 }
1863
1864 @Override
1865 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message) {
1866 if (isEnabled(level, marker, message)) {
1867 logMessage(fqcn, level, marker, message);
1868 }
1869 }
1870
1871 @Override
1872 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1873 final Supplier<?>... paramSuppliers) {
1874 if (isEnabled(level, marker, message)) {
1875 logMessage(fqcn, level, marker, message, paramSuppliers);
1876 }
1877 }
1878
1879 @Override
1880 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1881 final Object... params) {
1882 if (isEnabled(level, marker, message, params)) {
1883 logMessage(fqcn, level, marker, message, params);
1884 }
1885 }
1886
1887 @Override
1888 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1889 final Object p0) {
1890 if (isEnabled(level, marker, message, p0)) {
1891 logMessage(fqcn, level, marker, message, p0);
1892 }
1893 }
1894
1895 @Override
1896 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1897 final Object p0, final Object p1) {
1898 if (isEnabled(level, marker, message, p0, p1)) {
1899 logMessage(fqcn, level, marker, message, p0, p1);
1900 }
1901 }
1902
1903 @Override
1904 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1905 final Object p0, final Object p1, final Object p2) {
1906 if (isEnabled(level, marker, message, p0, p1, p2)) {
1907 logMessage(fqcn, level, marker, message, p0, p1, p2);
1908 }
1909 }
1910
1911 @Override
1912 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1913 final Object p0, final Object p1, final Object p2, final Object p3) {
1914 if (isEnabled(level, marker, message, p0, p1, p2, p3)) {
1915 logMessage(fqcn, level, marker, message, p0, p1, p2, p3);
1916 }
1917 }
1918
1919 @Override
1920 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1921 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4) {
1922 if (isEnabled(level, marker, message, p0, p1, p2, p3, p4)) {
1923 logMessage(fqcn, level, marker, message, p0, p1, p2, p3, p4);
1924 }
1925 }
1926
1927 @Override
1928 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1929 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5) {
1930 if (isEnabled(level, marker, message, p0, p1, p2, p3, p4, p5)) {
1931 logMessage(fqcn, level, marker, message, p0, p1, p2, p3, p4, p5);
1932 }
1933 }
1934
1935 @Override
1936 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1937 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5,
1938 final Object p6) {
1939 if (isEnabled(level, marker, message, p0, p1, p2, p3, p4, p5, p6)) {
1940 logMessage(fqcn, level, marker, message, p0, p1, p2, p3, p4, p5, p6);
1941 }
1942 }
1943
1944 @Override
1945 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1946 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5,
1947 final Object p6, final Object p7) {
1948 if (isEnabled(level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7)) {
1949 logMessage(fqcn, level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7);
1950 }
1951 }
1952
1953 @Override
1954 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1955 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5,
1956 final Object p6, final Object p7, final Object p8) {
1957 if (isEnabled(level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8)) {
1958 logMessage(fqcn, level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
1959 }
1960 }
1961
1962 @Override
1963 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1964 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5,
1965 final Object p6, final Object p7, final Object p8, final Object p9) {
1966 if (isEnabled(level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)) {
1967 logMessage(fqcn, level, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
1968 }
1969 }
1970
1971 @Override
1972 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
1973 final Throwable t) {
1974 if (isEnabled(level, marker, message, t)) {
1975 logMessage(fqcn, level, marker, message, t);
1976 }
1977 }
1978
1979 protected void logMessage(final String fqcn, final Level level, final Marker marker, final CharSequence message,
1980 final Throwable t) {
1981 logMessageSafely(fqcn, level, marker, messageFactory.newMessage(message), t);
1982 }
1983
1984 protected void logMessage(final String fqcn, final Level level, final Marker marker, final Object message,
1985 final Throwable t) {
1986 logMessageSafely(fqcn, level, marker, messageFactory.newMessage(message), t);
1987 }
1988
1989 protected void logMessage(final String fqcn, final Level level, final Marker marker,
1990 final MessageSupplier msgSupplier, final Throwable t) {
1991 final Message message = LambdaUtil.get(msgSupplier);
1992 logMessageSafely(fqcn, level, marker, message, (t == null && message != null) ? message.getThrowable() : t);
1993 }
1994
1995 protected void logMessage(final String fqcn, final Level level, final Marker marker, final Supplier<?> msgSupplier,
1996 final Throwable t) {
1997 final Message message = LambdaUtil.getMessage(msgSupplier, messageFactory);
1998 logMessageSafely(fqcn, level, marker, message, (t == null && message != null) ? message.getThrowable() : t);
1999 }
2000
2001 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2002 final Throwable t) {
2003 logMessageSafely(fqcn, level, marker, messageFactory.newMessage(message), t);
2004 }
2005
2006 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message) {
2007 final Message msg = messageFactory.newMessage(message);
2008 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2009 }
2010
2011 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2012 final Object... params) {
2013 final Message msg = messageFactory.newMessage(message, params);
2014 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2015 }
2016
2017 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2018 final Object p0) {
2019 final Message msg = messageFactory.newMessage(message, p0);
2020 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2021 }
2022
2023 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2024 final Object p0, final Object p1) {
2025 final Message msg = messageFactory.newMessage(message, p0, p1);
2026 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2027 }
2028
2029 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2030 final Object p0, final Object p1, final Object p2) {
2031 final Message msg = messageFactory.newMessage(message, p0, p1, p2);
2032 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2033 }
2034
2035 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2036 final Object p0, final Object p1, final Object p2, final Object p3) {
2037 final Message msg = messageFactory.newMessage(message, p0, p1, p2, p3);
2038 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2039 }
2040
2041 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2042 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4) {
2043 final Message msg = messageFactory.newMessage(message, p0, p1, p2, p3, p4);
2044 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2045 }
2046
2047 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2048 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5) {
2049 final Message msg = messageFactory.newMessage(message, p0, p1, p2, p3, p4, p5);
2050 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2051 }
2052
2053 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2054 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5,
2055 final Object p6) {
2056 final Message msg = messageFactory.newMessage(message, p0, p1, p2, p3, p4, p5, p6);
2057 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2058 }
2059
2060 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2061 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5,
2062 final Object p6, final Object p7) {
2063 final Message msg = messageFactory.newMessage(message, p0, p1, p2, p3, p4, p5, p6, p7);
2064 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2065 }
2066
2067 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2068 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5,
2069 final Object p6, final Object p7, final Object p8) {
2070 final Message msg = messageFactory.newMessage(message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
2071 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2072 }
2073
2074 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2075 final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5,
2076 final Object p6, final Object p7, final Object p8, final Object p9) {
2077 final Message msg = messageFactory.newMessage(message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
2078 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2079 }
2080
2081 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
2082 final Supplier<?>... paramSuppliers) {
2083 final Message msg = messageFactory.newMessage(message, LambdaUtil.getAll(paramSuppliers));
2084 logMessageSafely(fqcn, level, marker, msg, msg.getThrowable());
2085 }
2086
2087 public void logMessage(final Level level, final Marker marker, final String fqcn, final StackTraceElement location,
2088 final Message message, final Throwable throwable) {
2089 try {
2090 incrementRecursionDepth();
2091 log(level, marker, fqcn, location, message, throwable);
2092 } catch (Throwable t) {
2093 handleLogMessageException(t, fqcn, message);
2094 } finally {
2095 decrementRecursionDepth();
2096 ReusableMessageFactory.release(message);
2097 }
2098 }
2099
2100 protected void log(final Level level, final Marker marker, final String fqcn, final StackTraceElement location,
2101 final Message message, final Throwable throwable) {
2102 logMessage(fqcn, level, marker, message, throwable);
2103 }
2104
2105 @Override
2106 public void printf(final Level level, final Marker marker, final String format, final Object... params) {
2107 if (isEnabled(level, marker, format, params)) {
2108 final Message msg = new StringFormattedMessage(format, params);
2109 logMessageSafely(FQCN, level, marker, msg, msg.getThrowable());
2110 }
2111 }
2112
2113 @Override
2114 public void printf(final Level level, final String format, final Object... params) {
2115 if (isEnabled(level, null, format, params)) {
2116 final Message msg = new StringFormattedMessage(format, params);
2117 logMessageSafely(FQCN, level, null, msg, msg.getThrowable());
2118 }
2119 }
2120
2121 @PerformanceSensitive
2122
2123
2124 private void logMessageSafely(final String fqcn, final Level level, final Marker marker, final Message msg,
2125 final Throwable throwable) {
2126 try {
2127 logMessageTrackRecursion(fqcn, level, marker, msg, throwable);
2128 } finally {
2129
2130 ReusableMessageFactory.release(msg);
2131 }
2132 }
2133
2134 @PerformanceSensitive
2135
2136
2137 private void logMessageTrackRecursion(final String fqcn,
2138 final Level level,
2139 final Marker marker,
2140 final Message msg,
2141 final Throwable throwable) {
2142 try {
2143 incrementRecursionDepth();
2144 tryLogMessage(fqcn, getLocation(fqcn), level, marker, msg, throwable);
2145 } finally {
2146 decrementRecursionDepth();
2147 }
2148 }
2149
2150 private static int[] getRecursionDepthHolder() {
2151 int[] result = recursionDepthHolder.get();
2152 if (result == null) {
2153 result = new int[1];
2154 recursionDepthHolder.set(result);
2155 }
2156 return result;
2157 }
2158
2159 private static void incrementRecursionDepth() {
2160 getRecursionDepthHolder()[0]++;
2161 }
2162 private static void decrementRecursionDepth() {
2163 final int[] depth = getRecursionDepthHolder();
2164 depth[0]--;
2165 if (depth[0] < 0) {
2166 throw new IllegalStateException("Recursion depth became negative: " + depth[0]);
2167 }
2168 }
2169
2170
2171
2172
2173
2174
2175
2176 public static int getRecursionDepth() {
2177 return getRecursionDepthHolder()[0];
2178 }
2179
2180 @PerformanceSensitive
2181
2182
2183 private void tryLogMessage(final String fqcn,
2184 final StackTraceElement location,
2185 final Level level,
2186 final Marker marker,
2187 final Message msg,
2188 final Throwable throwable) {
2189 try {
2190 log(level, marker, fqcn, location, msg, throwable);
2191 } catch (final Throwable t) {
2192
2193 handleLogMessageException(t, fqcn, msg);
2194 }
2195 }
2196
2197 @PerformanceSensitive
2198
2199
2200 private StackTraceElement getLocation(String fqcn) {
2201 return requiresLocation() ? StackLocatorUtil.calcLocation(fqcn) : null;
2202 }
2203
2204
2205
2206 private void handleLogMessageException(final Throwable exception, final String fqcn, final Message msg) {
2207 if (exception instanceof LoggingException) {
2208 throw (LoggingException) exception;
2209 }
2210 final String format = msg.getFormat();
2211 final int formatLength = format == null ? 4 : format.length();
2212 final StringBuilder sb = new StringBuilder(formatLength + 100);
2213 sb.append(fqcn);
2214 sb.append(" caught ");
2215 sb.append(exception.getClass().getName());
2216 sb.append(" logging ");
2217 sb.append(msg.getClass().getSimpleName());
2218 sb.append(": ");
2219 sb.append(format);
2220 StatusLogger.getLogger().warn(sb.toString(), exception);
2221 }
2222
2223 @Override
2224 public <T extends Throwable> T throwing(final T t) {
2225 return throwing(FQCN, Level.ERROR, t);
2226 }
2227
2228 @Override
2229 public <T extends Throwable> T throwing(final Level level, final T t) {
2230 return throwing(FQCN, level, t);
2231 }
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242 protected <T extends Throwable> T throwing(final String fqcn, final Level level, final T t) {
2243 if (isEnabled(level, THROWING_MARKER, (Object) null, null)) {
2244 logMessageSafely(fqcn, level, THROWING_MARKER, throwingMsg(t), t);
2245 }
2246 return t;
2247 }
2248
2249 protected Message throwingMsg(final Throwable t) {
2250 return messageFactory.newMessage(THROWING);
2251 }
2252
2253 @Override
2254 public void trace(final Marker marker, final Message msg) {
2255 logIfEnabled(FQCN, Level.TRACE, marker, msg, msg != null ? msg.getThrowable() : null);
2256 }
2257
2258 @Override
2259 public void trace(final Marker marker, final Message msg, final Throwable t) {
2260 logIfEnabled(FQCN, Level.TRACE, marker, msg, t);
2261 }
2262
2263 @Override
2264 public void trace(final Marker marker, final CharSequence message) {
2265 logIfEnabled(FQCN, Level.TRACE, marker, message, null);
2266 }
2267
2268 @Override
2269 public void trace(final Marker marker, final CharSequence message, final Throwable t) {
2270 logIfEnabled(FQCN, Level.TRACE, marker, message, t);
2271 }
2272
2273 @Override
2274 public void trace(final Marker marker, final Object message) {
2275 logIfEnabled(FQCN, Level.TRACE, marker, message, null);
2276 }
2277
2278 @Override
2279 public void trace(final Marker marker, final Object message, final Throwable t) {
2280 logIfEnabled(FQCN, Level.TRACE, marker, message, t);
2281 }
2282
2283 @Override
2284 public void trace(final Marker marker, final String message) {
2285 logIfEnabled(FQCN, Level.TRACE, marker, message, (Throwable) null);
2286 }
2287
2288 @Override
2289 public void trace(final Marker marker, final String message, final Object... params) {
2290 logIfEnabled(FQCN, Level.TRACE, marker, message, params);
2291 }
2292
2293 @Override
2294 public void trace(final Marker marker, final String message, final Throwable t) {
2295 logIfEnabled(FQCN, Level.TRACE, marker, message, t);
2296 }
2297
2298 @Override
2299 public void trace(final Message msg) {
2300 logIfEnabled(FQCN, Level.TRACE, null, msg, msg != null ? msg.getThrowable() : null);
2301 }
2302
2303 @Override
2304 public void trace(final Message msg, final Throwable t) {
2305 logIfEnabled(FQCN, Level.TRACE, null, msg, t);
2306 }
2307
2308 @Override
2309 public void trace(final CharSequence message) {
2310 logIfEnabled(FQCN, Level.TRACE, null, message, null);
2311 }
2312
2313 @Override
2314 public void trace(final CharSequence message, final Throwable t) {
2315 logIfEnabled(FQCN, Level.TRACE, null, message, t);
2316 }
2317
2318 @Override
2319 public void trace(final Object message) {
2320 logIfEnabled(FQCN, Level.TRACE, null, message, null);
2321 }
2322
2323 @Override
2324 public void trace(final Object message, final Throwable t) {
2325 logIfEnabled(FQCN, Level.TRACE, null, message, t);
2326 }
2327
2328 @Override
2329 public void trace(final String message) {
2330 logIfEnabled(FQCN, Level.TRACE, null, message, (Throwable) null);
2331 }
2332
2333 @Override
2334 public void trace(final String message, final Object... params) {
2335 logIfEnabled(FQCN, Level.TRACE, null, message, params);
2336 }
2337
2338 @Override
2339 public void trace(final String message, final Throwable t) {
2340 logIfEnabled(FQCN, Level.TRACE, null, message, t);
2341 }
2342
2343 @Override
2344 public void trace(final Supplier<?> msgSupplier) {
2345 logIfEnabled(FQCN, Level.TRACE, null, msgSupplier, (Throwable) null);
2346 }
2347
2348 @Override
2349 public void trace(final Supplier<?> msgSupplier, final Throwable t) {
2350 logIfEnabled(FQCN, Level.TRACE, null, msgSupplier, t);
2351 }
2352
2353 @Override
2354 public void trace(final Marker marker, final Supplier<?> msgSupplier) {
2355 logIfEnabled(FQCN, Level.TRACE, marker, msgSupplier, (Throwable) null);
2356 }
2357
2358 @Override
2359 public void trace(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
2360 logIfEnabled(FQCN, Level.TRACE, marker, message, paramSuppliers);
2361 }
2362
2363 @Override
2364 public void trace(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
2365 logIfEnabled(FQCN, Level.TRACE, marker, msgSupplier, t);
2366 }
2367
2368 @Override
2369 public void trace(final String message, final Supplier<?>... paramSuppliers) {
2370 logIfEnabled(FQCN, Level.TRACE, null, message, paramSuppliers);
2371 }
2372
2373 @Override
2374 public void trace(final Marker marker, final MessageSupplier msgSupplier) {
2375 logIfEnabled(FQCN, Level.TRACE, marker, msgSupplier, (Throwable) null);
2376 }
2377
2378 @Override
2379 public void trace(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
2380 logIfEnabled(FQCN, Level.TRACE, marker, msgSupplier, t);
2381 }
2382
2383 @Override
2384 public void trace(final MessageSupplier msgSupplier) {
2385 logIfEnabled(FQCN, Level.TRACE, null, msgSupplier, (Throwable) null);
2386 }
2387
2388 @Override
2389 public void trace(final MessageSupplier msgSupplier, final Throwable t) {
2390 logIfEnabled(FQCN, Level.TRACE, null, msgSupplier, t);
2391 }
2392
2393 @Override
2394 public void trace(final Marker marker, final String message, final Object p0) {
2395 logIfEnabled(FQCN, Level.TRACE, marker, message, p0);
2396 }
2397
2398 @Override
2399 public void trace(final Marker marker, final String message, final Object p0, final Object p1) {
2400 logIfEnabled(FQCN, Level.TRACE, marker, message, p0, p1);
2401 }
2402
2403 @Override
2404 public void trace(final Marker marker, final String message, final Object p0, final Object p1, final Object p2) {
2405 logIfEnabled(FQCN, Level.TRACE, marker, message, p0, p1, p2);
2406 }
2407
2408 @Override
2409 public void trace(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2410 final Object p3) {
2411 logIfEnabled(FQCN, Level.TRACE, marker, message, p0, p1, p2, p3);
2412 }
2413
2414 @Override
2415 public void trace(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2416 final Object p3, final Object p4) {
2417 logIfEnabled(FQCN, Level.TRACE, marker, message, p0, p1, p2, p3, p4);
2418 }
2419
2420 @Override
2421 public void trace(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2422 final Object p3, final Object p4, final Object p5) {
2423 logIfEnabled(FQCN, Level.TRACE, marker, message, p0, p1, p2, p3, p4, p5);
2424 }
2425
2426 @Override
2427 public void trace(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2428 final Object p3, final Object p4, final Object p5, final Object p6) {
2429 logIfEnabled(FQCN, Level.TRACE, marker, message, p0, p1, p2, p3, p4, p5, p6);
2430 }
2431
2432 @Override
2433 public void trace(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2434 final Object p3, final Object p4, final Object p5, final Object p6, final Object p7) {
2435 logIfEnabled(FQCN, Level.TRACE, marker, message, p0, p1, p2, p3, p4, p5, p6, p7);
2436 }
2437
2438 @Override
2439 public void trace(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2440 final Object p3, final Object p4, final Object p5,
2441 final Object p6, final Object p7, final Object p8) {
2442 logIfEnabled(FQCN, Level.TRACE, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
2443 }
2444
2445 @Override
2446 public void trace(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2447 final Object p3, final Object p4, final Object p5,
2448 final Object p6, final Object p7, final Object p8, final Object p9) {
2449 logIfEnabled(FQCN, Level.TRACE, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
2450 }
2451
2452 @Override
2453 public void trace(final String message, final Object p0) {
2454 logIfEnabled(FQCN, Level.TRACE, null, message, p0);
2455 }
2456
2457 @Override
2458 public void trace(final String message, final Object p0, final Object p1) {
2459 logIfEnabled(FQCN, Level.TRACE, null, message, p0, p1);
2460 }
2461
2462 @Override
2463 public void trace(final String message, final Object p0, final Object p1, final Object p2) {
2464 logIfEnabled(FQCN, Level.TRACE, null, message, p0, p1, p2);
2465 }
2466
2467 @Override
2468 public void trace(final String message, final Object p0, final Object p1, final Object p2, final Object p3) {
2469 logIfEnabled(FQCN, Level.TRACE, null, message, p0, p1, p2, p3);
2470 }
2471
2472 @Override
2473 public void trace(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2474 final Object p4) {
2475 logIfEnabled(FQCN, Level.TRACE, null, message, p0, p1, p2, p3, p4);
2476 }
2477
2478 @Override
2479 public void trace(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2480 final Object p4, final Object p5) {
2481 logIfEnabled(FQCN, Level.TRACE, null, message, p0, p1, p2, p3, p4, p5);
2482 }
2483
2484 @Override
2485 public void trace(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2486 final Object p4, final Object p5, final Object p6) {
2487 logIfEnabled(FQCN, Level.TRACE, null, message, p0, p1, p2, p3, p4, p5, p6);
2488 }
2489
2490 @Override
2491 public void trace(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2492 final Object p4, final Object p5, final Object p6, final Object p7) {
2493 logIfEnabled(FQCN, Level.TRACE, null, message, p0, p1, p2, p3, p4, p5, p6, p7);
2494 }
2495
2496 @Override
2497 public void trace(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2498 final Object p4, final Object p5, final Object p6, final Object p7, final Object p8) {
2499 logIfEnabled(FQCN, Level.TRACE, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
2500 }
2501
2502 @Override
2503 public void trace(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2504 final Object p4, final Object p5, final Object p6, final Object p7, final Object p8, final Object p9) {
2505 logIfEnabled(FQCN, Level.TRACE, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
2506 }
2507
2508 @Override
2509 public EntryMessage traceEntry() {
2510 return enter(FQCN, null, (Object[]) null);
2511 }
2512
2513 @Override
2514 public EntryMessage traceEntry(final String format, final Object... params) {
2515 return enter(FQCN, format, params);
2516 }
2517
2518 @Override
2519 public EntryMessage traceEntry(final Supplier<?>... paramSuppliers) {
2520 return enter(FQCN, null, paramSuppliers);
2521 }
2522
2523 @Override
2524 public EntryMessage traceEntry(final String format, final Supplier<?>... paramSuppliers) {
2525 return enter(FQCN, format, paramSuppliers);
2526 }
2527
2528 @Override
2529 public EntryMessage traceEntry(final Message message) {
2530 return enter(FQCN, message);
2531 }
2532
2533 @Override
2534 public void traceExit() {
2535 exit(FQCN, null, null);
2536 }
2537
2538 @Override
2539 public <R> R traceExit(final R result) {
2540 return exit(FQCN, null, result);
2541 }
2542
2543 @Override
2544 public <R> R traceExit(final String format, final R result) {
2545 return exit(FQCN, format, result);
2546 }
2547
2548 @Override
2549 public void traceExit(final EntryMessage message) {
2550
2551 if (message != null && isEnabled(Level.TRACE, EXIT_MARKER, message, null)) {
2552 logMessageSafely(FQCN, Level.TRACE, EXIT_MARKER, flowMessageFactory.newExitMessage(message), null);
2553 }
2554 }
2555
2556 @Override
2557 public <R> R traceExit(final EntryMessage message, final R result) {
2558
2559 if (message != null && isEnabled(Level.TRACE, EXIT_MARKER, message, null)) {
2560 logMessageSafely(FQCN, Level.TRACE, EXIT_MARKER, flowMessageFactory.newExitMessage(result, message), null);
2561 }
2562 return result;
2563 }
2564
2565 @Override
2566 public <R> R traceExit(final Message message, final R result) {
2567
2568 if (message != null && isEnabled(Level.TRACE, EXIT_MARKER, message, null)) {
2569 logMessageSafely(FQCN, Level.TRACE, EXIT_MARKER, flowMessageFactory.newExitMessage(result, message), null);
2570 }
2571 return result;
2572 }
2573
2574 @Override
2575 public void warn(final Marker marker, final Message msg) {
2576 logIfEnabled(FQCN, Level.WARN, marker, msg, msg != null ? msg.getThrowable() : null);
2577 }
2578
2579 @Override
2580 public void warn(final Marker marker, final Message msg, final Throwable t) {
2581 logIfEnabled(FQCN, Level.WARN, marker, msg, t);
2582 }
2583
2584 @Override
2585 public void warn(final Marker marker, final CharSequence message) {
2586 logIfEnabled(FQCN, Level.WARN, marker, message, null);
2587 }
2588
2589 @Override
2590 public void warn(final Marker marker, final CharSequence message, final Throwable t) {
2591 logIfEnabled(FQCN, Level.WARN, marker, message, t);
2592 }
2593
2594 @Override
2595 public void warn(final Marker marker, final Object message) {
2596 logIfEnabled(FQCN, Level.WARN, marker, message, null);
2597 }
2598
2599 @Override
2600 public void warn(final Marker marker, final Object message, final Throwable t) {
2601 logIfEnabled(FQCN, Level.WARN, marker, message, t);
2602 }
2603
2604 @Override
2605 public void warn(final Marker marker, final String message) {
2606 logIfEnabled(FQCN, Level.WARN, marker, message, (Throwable) null);
2607 }
2608
2609 @Override
2610 public void warn(final Marker marker, final String message, final Object... params) {
2611 logIfEnabled(FQCN, Level.WARN, marker, message, params);
2612 }
2613
2614 @Override
2615 public void warn(final Marker marker, final String message, final Throwable t) {
2616 logIfEnabled(FQCN, Level.WARN, marker, message, t);
2617 }
2618
2619 @Override
2620 public void warn(final Message msg) {
2621 logIfEnabled(FQCN, Level.WARN, null, msg, msg != null ? msg.getThrowable() : null);
2622 }
2623
2624 @Override
2625 public void warn(final Message msg, final Throwable t) {
2626 logIfEnabled(FQCN, Level.WARN, null, msg, t);
2627 }
2628
2629 @Override
2630 public void warn(final CharSequence message) {
2631 logIfEnabled(FQCN, Level.WARN, null, message, null);
2632 }
2633
2634 @Override
2635 public void warn(final CharSequence message, final Throwable t) {
2636 logIfEnabled(FQCN, Level.WARN, null, message, t);
2637 }
2638
2639 @Override
2640 public void warn(final Object message) {
2641 logIfEnabled(FQCN, Level.WARN, null, message, null);
2642 }
2643
2644 @Override
2645 public void warn(final Object message, final Throwable t) {
2646 logIfEnabled(FQCN, Level.WARN, null, message, t);
2647 }
2648
2649 @Override
2650 public void warn(final String message) {
2651 logIfEnabled(FQCN, Level.WARN, null, message, (Throwable) null);
2652 }
2653
2654 @Override
2655 public void warn(final String message, final Object... params) {
2656 logIfEnabled(FQCN, Level.WARN, null, message, params);
2657 }
2658
2659 @Override
2660 public void warn(final String message, final Throwable t) {
2661 logIfEnabled(FQCN, Level.WARN, null, message, t);
2662 }
2663
2664 @Override
2665 public void warn(final Supplier<?> msgSupplier) {
2666 logIfEnabled(FQCN, Level.WARN, null, msgSupplier, (Throwable) null);
2667 }
2668
2669 @Override
2670 public void warn(final Supplier<?> msgSupplier, final Throwable t) {
2671 logIfEnabled(FQCN, Level.WARN, null, msgSupplier, t);
2672 }
2673
2674 @Override
2675 public void warn(final Marker marker, final Supplier<?> msgSupplier) {
2676 logIfEnabled(FQCN, Level.WARN, marker, msgSupplier, (Throwable) null);
2677 }
2678
2679 @Override
2680 public void warn(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
2681 logIfEnabled(FQCN, Level.WARN, marker, message, paramSuppliers);
2682 }
2683
2684 @Override
2685 public void warn(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
2686 logIfEnabled(FQCN, Level.WARN, marker, msgSupplier, t);
2687 }
2688
2689 @Override
2690 public void warn(final String message, final Supplier<?>... paramSuppliers) {
2691 logIfEnabled(FQCN, Level.WARN, null, message, paramSuppliers);
2692 }
2693
2694 @Override
2695 public void warn(final Marker marker, final MessageSupplier msgSupplier) {
2696 logIfEnabled(FQCN, Level.WARN, marker, msgSupplier, (Throwable) null);
2697 }
2698
2699 @Override
2700 public void warn(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
2701 logIfEnabled(FQCN, Level.WARN, marker, msgSupplier, t);
2702 }
2703
2704 @Override
2705 public void warn(final MessageSupplier msgSupplier) {
2706 logIfEnabled(FQCN, Level.WARN, null, msgSupplier, (Throwable) null);
2707 }
2708
2709 @Override
2710 public void warn(final MessageSupplier msgSupplier, final Throwable t) {
2711 logIfEnabled(FQCN, Level.WARN, null, msgSupplier, t);
2712 }
2713
2714 @Override
2715 public void warn(final Marker marker, final String message, final Object p0) {
2716 logIfEnabled(FQCN, Level.WARN, marker, message, p0);
2717 }
2718
2719 @Override
2720 public void warn(final Marker marker, final String message, final Object p0, final Object p1) {
2721 logIfEnabled(FQCN, Level.WARN, marker, message, p0, p1);
2722 }
2723
2724 @Override
2725 public void warn(final Marker marker, final String message, final Object p0, final Object p1, final Object p2) {
2726 logIfEnabled(FQCN, Level.WARN, marker, message, p0, p1, p2);
2727 }
2728
2729 @Override
2730 public void warn(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2731 final Object p3) {
2732 logIfEnabled(FQCN, Level.WARN, marker, message, p0, p1, p2, p3);
2733 }
2734
2735 @Override
2736 public void warn(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2737 final Object p3, final Object p4) {
2738 logIfEnabled(FQCN, Level.WARN, marker, message, p0, p1, p2, p3, p4);
2739 }
2740
2741 @Override
2742 public void warn(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2743 final Object p3, final Object p4, final Object p5) {
2744 logIfEnabled(FQCN, Level.WARN, marker, message, p0, p1, p2, p3, p4, p5);
2745 }
2746
2747 @Override
2748 public void warn(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2749 final Object p3, final Object p4, final Object p5, final Object p6) {
2750 logIfEnabled(FQCN, Level.WARN, marker, message, p0, p1, p2, p3, p4, p5, p6);
2751 }
2752
2753 @Override
2754 public void warn(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2755 final Object p3, final Object p4, final Object p5, final Object p6, final Object p7) {
2756 logIfEnabled(FQCN, Level.WARN, marker, message, p0, p1, p2, p3, p4, p5, p6, p7);
2757 }
2758
2759 @Override
2760 public void warn(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2761 final Object p3, final Object p4, final Object p5, final Object p6, final Object p7, final Object p8) {
2762 logIfEnabled(FQCN, Level.WARN, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
2763 }
2764
2765 @Override
2766 public void warn(final Marker marker, final String message, final Object p0, final Object p1, final Object p2,
2767 final Object p3, final Object p4, final Object p5,
2768 final Object p6, final Object p7, final Object p8, final Object p9) {
2769 logIfEnabled(FQCN, Level.WARN, marker, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
2770 }
2771
2772 @Override
2773 public void warn(final String message, final Object p0) {
2774 logIfEnabled(FQCN, Level.WARN, null, message, p0);
2775 }
2776
2777 @Override
2778 public void warn(final String message, final Object p0, final Object p1) {
2779 logIfEnabled(FQCN, Level.WARN, null, message, p0, p1);
2780 }
2781
2782 @Override
2783 public void warn(final String message, final Object p0, final Object p1, final Object p2) {
2784 logIfEnabled(FQCN, Level.WARN, null, message, p0, p1, p2);
2785 }
2786
2787 @Override
2788 public void warn(final String message, final Object p0, final Object p1, final Object p2, final Object p3) {
2789 logIfEnabled(FQCN, Level.WARN, null, message, p0, p1, p2, p3);
2790 }
2791
2792 @Override
2793 public void warn(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2794 final Object p4) {
2795 logIfEnabled(FQCN, Level.WARN, null, message, p0, p1, p2, p3, p4);
2796 }
2797
2798 @Override
2799 public void warn(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2800 final Object p4, final Object p5) {
2801 logIfEnabled(FQCN, Level.WARN, null, message, p0, p1, p2, p3, p4, p5);
2802 }
2803
2804 @Override
2805 public void warn(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2806 final Object p4, final Object p5, final Object p6) {
2807 logIfEnabled(FQCN, Level.WARN, null, message, p0, p1, p2, p3, p4, p5, p6);
2808 }
2809
2810 @Override
2811 public void warn(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2812 final Object p4, final Object p5, final Object p6, final Object p7) {
2813 logIfEnabled(FQCN, Level.WARN, null, message, p0, p1, p2, p3, p4, p5, p6, p7);
2814 }
2815
2816 @Override
2817 public void warn(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2818 final Object p4, final Object p5, final Object p6, final Object p7, final Object p8) {
2819 logIfEnabled(FQCN, Level.WARN, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8);
2820 }
2821
2822 @Override
2823 public void warn(final String message, final Object p0, final Object p1, final Object p2, final Object p3,
2824 final Object p4, final Object p5, final Object p6,
2825 final Object p7, final Object p8, final Object p9) {
2826 logIfEnabled(FQCN, Level.WARN, null, message, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
2827 }
2828
2829 protected boolean requiresLocation() {
2830 return false;
2831 }
2832 }