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.Marker;
23 import org.apache.logging.log4j.MarkerManager;
24 import org.apache.logging.log4j.message.Message;
25 import org.apache.logging.log4j.message.MessageFactory;
26 import org.apache.logging.log4j.message.ParameterizedMessageFactory;
27 import org.apache.logging.log4j.message.StringFormattedMessage;
28 import org.apache.logging.log4j.status.StatusLogger;
29 import org.apache.logging.log4j.util.LambdaUtil;
30 import org.apache.logging.log4j.util.MessageSupplier;
31 import org.apache.logging.log4j.util.Supplier;
32
33
34
35
36 public abstract class AbstractLogger implements ExtendedLogger, Serializable {
37
38 private static final long serialVersionUID = 2L;
39
40
41
42
43 public static final Marker FLOW_MARKER = MarkerManager.getMarker("FLOW");
44
45
46
47
48 public static final Marker ENTRY_MARKER = MarkerManager.getMarker("ENTRY").setParents(FLOW_MARKER);
49
50
51
52
53 public static final Marker EXIT_MARKER = MarkerManager.getMarker("EXIT").setParents(FLOW_MARKER);
54
55
56
57
58 public static final Marker EXCEPTION_MARKER = MarkerManager.getMarker("EXCEPTION");
59
60
61
62
63 public static final Marker THROWING_MARKER = MarkerManager.getMarker("THROWING").setParents(EXCEPTION_MARKER);
64
65
66
67
68 public static final Marker CATCHING_MARKER = MarkerManager.getMarker("CATCHING").setParents(EXCEPTION_MARKER);
69
70
71
72
73 public static final Class<? extends MessageFactory> DEFAULT_MESSAGE_FACTORY_CLASS = ParameterizedMessageFactory.class;
74
75 private static final String FQCN = AbstractLogger.class.getName();
76
77 private static final String THROWING = "throwing";
78
79 private static final String CATCHING = "catching";
80
81
82
83
84
85
86
87
88
89 public static void checkMessageFactory(final ExtendedLogger logger, final MessageFactory messageFactory) {
90 final String name = logger.getName();
91 final MessageFactory loggerMessageFactory = logger.getMessageFactory();
92 if (messageFactory != null && !loggerMessageFactory.equals(messageFactory)) {
93 StatusLogger.getLogger().warn(
94 "The Logger {} was created with the message factory {} and is now requested with the "
95 + "message factory {}, which may create log events with unexpected formatting.", name,
96 loggerMessageFactory, messageFactory);
97 } else if (messageFactory == null && !loggerMessageFactory.getClass().equals(DEFAULT_MESSAGE_FACTORY_CLASS)) {
98 StatusLogger
99 .getLogger()
100 .warn("The Logger {} was created with the message factory {} and is now requested with a null "
101 + "message factory (defaults to {}), which may create log events with unexpected formatting.",
102 name, loggerMessageFactory, DEFAULT_MESSAGE_FACTORY_CLASS.getName());
103 }
104 }
105
106 private final String name;
107
108 private final MessageFactory messageFactory;
109
110
111
112
113 public AbstractLogger() {
114 this.name = getClass().getName();
115 this.messageFactory = createDefaultMessageFactory();
116 }
117
118
119
120
121
122
123 public AbstractLogger(final String name) {
124 this.name = name;
125 this.messageFactory = 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() : messageFactory;
137 }
138
139 @Override
140 public void catching(final Level level, final Throwable t) {
141 catching(FQCN, level, t);
142 }
143
144
145
146
147
148
149
150
151 protected void catching(final String fqcn, final Level level, final Throwable t) {
152 if (isEnabled(level, CATCHING_MARKER, (Object) null, null)) {
153 logMessage(fqcn, level, CATCHING_MARKER, catchingMsg(t), t);
154 }
155 }
156
157 @Override
158 public void catching(final Throwable t) {
159 if (isEnabled(Level.ERROR, CATCHING_MARKER, (Object) null, null)) {
160 logMessage(FQCN, Level.ERROR, CATCHING_MARKER, catchingMsg(t), t);
161 }
162 }
163
164 protected Message catchingMsg(final Throwable t) {
165 return messageFactory.newMessage(CATCHING);
166 }
167
168 private MessageFactory createDefaultMessageFactory() {
169 try {
170 return DEFAULT_MESSAGE_FACTORY_CLASS.newInstance();
171 } catch (final InstantiationException e) {
172 throw new IllegalStateException(e);
173 } catch (final IllegalAccessException e) {
174 throw new IllegalStateException(e);
175 }
176 }
177
178 @Override
179 public void debug(final Marker marker, final Message msg) {
180 logIfEnabled(FQCN, Level.DEBUG, marker, msg, null);
181 }
182
183 @Override
184 public void debug(final Marker marker, final Message msg, final Throwable t) {
185 logIfEnabled(FQCN, Level.DEBUG, marker, msg, t);
186 }
187
188 @Override
189 public void debug(final Marker marker, final Object message) {
190 logIfEnabled(FQCN, Level.DEBUG, marker, message, null);
191 }
192
193 @Override
194 public void debug(final Marker marker, final Object message, final Throwable t) {
195 logIfEnabled(FQCN, Level.DEBUG, marker, message, t);
196 }
197
198 @Override
199 public void debug(final Marker marker, final String message) {
200 logIfEnabled(FQCN, Level.DEBUG, marker, message, (Throwable) null);
201 }
202
203 @Override
204 public void debug(final Marker marker, final String message, final Object... params) {
205 logIfEnabled(FQCN, Level.DEBUG, marker, message, params);
206 }
207
208 @Override
209 public void debug(final Marker marker, final String message, final Throwable t) {
210 logIfEnabled(FQCN, Level.DEBUG, marker, message, t);
211 }
212
213 @Override
214 public void debug(final Message msg) {
215 logIfEnabled(FQCN, Level.DEBUG, null, msg, null);
216 }
217
218 @Override
219 public void debug(final Message msg, final Throwable t) {
220 logIfEnabled(FQCN, Level.DEBUG, null, msg, t);
221 }
222
223 @Override
224 public void debug(final Object message) {
225 logIfEnabled(FQCN, Level.DEBUG, null, message, null);
226 }
227
228 @Override
229 public void debug(final Object message, final Throwable t) {
230 logIfEnabled(FQCN, Level.DEBUG, null, message, t);
231 }
232
233 @Override
234 public void debug(final String message) {
235 logIfEnabled(FQCN, Level.DEBUG, null, message, (Throwable) null);
236 }
237
238 @Override
239 public void debug(final String message, final Object... params) {
240 logIfEnabled(FQCN, Level.DEBUG, null, message, params);
241 }
242
243 @Override
244 public void debug(final String message, final Throwable t) {
245 logIfEnabled(FQCN, Level.DEBUG, null, message, t);
246 }
247
248 @Override
249 public void debug(final Supplier<?> msgSupplier) {
250 logIfEnabled(FQCN, Level.DEBUG, null, msgSupplier, (Throwable) null);
251 }
252
253 @Override
254 public void debug(final Supplier<?> msgSupplier, final Throwable t) {
255 logIfEnabled(FQCN, Level.DEBUG, null, msgSupplier, t);
256 }
257
258 @Override
259 public void debug(final Marker marker, final Supplier<?> msgSupplier) {
260 logIfEnabled(FQCN, Level.DEBUG, marker, msgSupplier, (Throwable) null);
261 }
262
263 @Override
264 public void debug(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
265 logIfEnabled(FQCN, Level.DEBUG, marker, message, paramSuppliers);
266 }
267
268 @Override
269 public void debug(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
270 logIfEnabled(FQCN, Level.DEBUG, marker, msgSupplier, t);
271 }
272
273 @Override
274 public void debug(final String message, final Supplier<?>... paramSuppliers) {
275 logIfEnabled(FQCN, Level.DEBUG, null, message, paramSuppliers);
276 }
277
278 @Override
279 public void debug(final Marker marker, final MessageSupplier msgSupplier) {
280 logIfEnabled(FQCN, Level.DEBUG, marker, msgSupplier, (Throwable) null);
281 }
282
283 @Override
284 public void debug(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
285 logIfEnabled(FQCN, Level.DEBUG, marker, msgSupplier, t);
286 }
287
288 @Override
289 public void debug(final MessageSupplier msgSupplier) {
290 logIfEnabled(FQCN, Level.DEBUG, null, msgSupplier, (Throwable) null);
291 }
292
293 @Override
294 public void debug(final MessageSupplier msgSupplier, final Throwable t) {
295 logIfEnabled(FQCN, Level.DEBUG, null, msgSupplier, t);
296 }
297
298 @Override
299 public void entry() {
300 entry(FQCN);
301 }
302
303 @Override
304 public void entry(final Object... params) {
305 entry(FQCN, params);
306 }
307
308
309
310
311
312
313
314 protected void entry(final String fqcn, final Object... params) {
315 if (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) null, null)) {
316 logIfEnabled(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg(params.length, params), null);
317 }
318 }
319
320 protected Message entryMsg(final int count, final Object... params) {
321 if (count == 0) {
322 return messageFactory.newMessage("entry");
323 }
324 final StringBuilder sb = new StringBuilder("entry params(");
325 int i = 0;
326 for (final Object parm : params) {
327 if (parm != null) {
328 sb.append(parm.toString());
329 } else {
330 sb.append("null");
331 }
332 if (++i < params.length) {
333 sb.append(", ");
334 }
335 }
336 sb.append(')');
337 return messageFactory.newMessage(sb.toString());
338 }
339
340 @Override
341 public void error(final Marker marker, final Message msg) {
342 logIfEnabled(FQCN, Level.ERROR, marker, msg, null);
343 }
344
345 @Override
346 public void error(final Marker marker, final Message msg, final Throwable t) {
347 logIfEnabled(FQCN, Level.ERROR, marker, msg, t);
348 }
349
350 @Override
351 public void error(final Marker marker, final Object message) {
352 logIfEnabled(FQCN, Level.ERROR, marker, message, null);
353 }
354
355 @Override
356 public void error(final Marker marker, final Object message, final Throwable t) {
357 logIfEnabled(FQCN, Level.ERROR, marker, message, t);
358 }
359
360 @Override
361 public void error(final Marker marker, final String message) {
362 logIfEnabled(FQCN, Level.ERROR, marker, message, (Throwable) null);
363 }
364
365 @Override
366 public void error(final Marker marker, final String message, final Object... params) {
367 logIfEnabled(FQCN, Level.ERROR, marker, message, params);
368 }
369
370 @Override
371 public void error(final Marker marker, final String message, final Throwable t) {
372 logIfEnabled(FQCN, Level.ERROR, marker, message, t);
373 }
374
375 @Override
376 public void error(final Message msg) {
377 logIfEnabled(FQCN, Level.ERROR, null, msg, null);
378 }
379
380 @Override
381 public void error(final Message msg, final Throwable t) {
382 logIfEnabled(FQCN, Level.ERROR, null, msg, t);
383 }
384
385 @Override
386 public void error(final Object message) {
387 logIfEnabled(FQCN, Level.ERROR, null, message, null);
388 }
389
390 @Override
391 public void error(final Object message, final Throwable t) {
392 logIfEnabled(FQCN, Level.ERROR, null, message, t);
393 }
394
395 @Override
396 public void error(final String message) {
397 logIfEnabled(FQCN, Level.ERROR, null, message, (Throwable) null);
398 }
399
400 @Override
401 public void error(final String message, final Object... params) {
402 logIfEnabled(FQCN, Level.ERROR, null, message, params);
403 }
404
405 @Override
406 public void error(final String message, final Throwable t) {
407 logIfEnabled(FQCN, Level.ERROR, null, message, t);
408 }
409
410 @Override
411 public void error(final Supplier<?> msgSupplier) {
412 logIfEnabled(FQCN, Level.ERROR, null, msgSupplier, (Throwable) null);
413 }
414
415 @Override
416 public void error(final Supplier<?> msgSupplier, final Throwable t) {
417 logIfEnabled(FQCN, Level.ERROR, null, msgSupplier, t);
418 }
419
420 @Override
421 public void error(final Marker marker, final Supplier<?> msgSupplier) {
422 logIfEnabled(FQCN, Level.ERROR, marker, msgSupplier, (Throwable) null);
423 }
424
425 @Override
426 public void error(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
427 logIfEnabled(FQCN, Level.ERROR, marker, message, paramSuppliers);
428 }
429
430 @Override
431 public void error(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
432 logIfEnabled(FQCN, Level.ERROR, marker, msgSupplier, t);
433 }
434
435 @Override
436 public void error(final String message, final Supplier<?>... paramSuppliers) {
437 logIfEnabled(FQCN, Level.ERROR, null, message, paramSuppliers);
438 }
439
440 @Override
441 public void error(final Marker marker, final MessageSupplier msgSupplier) {
442 logIfEnabled(FQCN, Level.ERROR, marker, msgSupplier, (Throwable) null);
443 }
444
445 @Override
446 public void error(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
447 logIfEnabled(FQCN, Level.ERROR, marker, msgSupplier, t);
448 }
449
450 @Override
451 public void error(final MessageSupplier msgSupplier) {
452 logIfEnabled(FQCN, Level.ERROR, null, msgSupplier, (Throwable) null);
453 }
454
455 @Override
456 public void error(final MessageSupplier msgSupplier, final Throwable t) {
457 logIfEnabled(FQCN, Level.ERROR, null, msgSupplier, t);
458 }
459
460 @Override
461 public void exit() {
462 exit(FQCN, null);
463 }
464
465 @Override
466 public <R> R exit(final R result) {
467 return exit(FQCN, result);
468 }
469
470
471
472
473
474
475
476
477
478 protected <R> R exit(final String fqcn, final R result) {
479 if (isEnabled(Level.TRACE, EXIT_MARKER, (Object) null, null)) {
480 logIfEnabled(fqcn, Level.TRACE, EXIT_MARKER, exitMsg(result), null);
481 }
482 return result;
483 }
484
485 protected Message exitMsg(final Object result) {
486 if (result == null) {
487 return messageFactory.newMessage("exit");
488 }
489 return messageFactory.newMessage("exit with(" + result + ')');
490 }
491
492 @Override
493 public void fatal(final Marker marker, final Message msg) {
494 logIfEnabled(FQCN, Level.FATAL, marker, msg, null);
495 }
496
497 @Override
498 public void fatal(final Marker marker, final Message msg, final Throwable t) {
499 logIfEnabled(FQCN, Level.FATAL, marker, msg, t);
500 }
501
502 @Override
503 public void fatal(final Marker marker, final Object message) {
504 logIfEnabled(FQCN, Level.FATAL, marker, message, null);
505 }
506
507 @Override
508 public void fatal(final Marker marker, final Object message, final Throwable t) {
509 logIfEnabled(FQCN, Level.FATAL, marker, message, t);
510 }
511
512 @Override
513 public void fatal(final Marker marker, final String message) {
514 logIfEnabled(FQCN, Level.FATAL, marker, message, (Throwable) null);
515 }
516
517 @Override
518 public void fatal(final Marker marker, final String message, final Object... params) {
519 logIfEnabled(FQCN, Level.FATAL, marker, message, params);
520 }
521
522 @Override
523 public void fatal(final Marker marker, final String message, final Throwable t) {
524 logIfEnabled(FQCN, Level.FATAL, marker, message, t);
525 }
526
527 @Override
528 public void fatal(final Message msg) {
529 logIfEnabled(FQCN, Level.FATAL, null, msg, null);
530 }
531
532 @Override
533 public void fatal(final Message msg, final Throwable t) {
534 logIfEnabled(FQCN, Level.FATAL, null, msg, t);
535 }
536
537 @Override
538 public void fatal(final Object message) {
539 logIfEnabled(FQCN, Level.FATAL, null, message, null);
540 }
541
542 @Override
543 public void fatal(final Object message, final Throwable t) {
544 logIfEnabled(FQCN, Level.FATAL, null, message, t);
545 }
546
547 @Override
548 public void fatal(final String message) {
549 logIfEnabled(FQCN, Level.FATAL, null, message, (Throwable) null);
550 }
551
552 @Override
553 public void fatal(final String message, final Object... params) {
554 logIfEnabled(FQCN, Level.FATAL, null, message, params);
555 }
556
557 @Override
558 public void fatal(final String message, final Throwable t) {
559 logIfEnabled(FQCN, Level.FATAL, null, message, t);
560 }
561
562 @Override
563 public void fatal(final Supplier<?> msgSupplier) {
564 logIfEnabled(FQCN, Level.FATAL, null, msgSupplier, (Throwable) null);
565 }
566
567 @Override
568 public void fatal(final Supplier<?> msgSupplier, final Throwable t) {
569 logIfEnabled(FQCN, Level.FATAL, null, msgSupplier, t);
570 }
571
572 @Override
573 public void fatal(final Marker marker, final Supplier<?> msgSupplier) {
574 logIfEnabled(FQCN, Level.FATAL, marker, msgSupplier, (Throwable) null);
575 }
576
577 @Override
578 public void fatal(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
579 logIfEnabled(FQCN, Level.FATAL, marker, message, paramSuppliers);
580 }
581
582 @Override
583 public void fatal(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
584 logIfEnabled(FQCN, Level.FATAL, marker, msgSupplier, t);
585 }
586
587 @Override
588 public void fatal(final String message, final Supplier<?>... paramSuppliers) {
589 logIfEnabled(FQCN, Level.FATAL, null, message, paramSuppliers);
590 }
591
592 @Override
593 public void fatal(final Marker marker, final MessageSupplier msgSupplier) {
594 logIfEnabled(FQCN, Level.FATAL, marker, msgSupplier, (Throwable) null);
595 }
596
597 @Override
598 public void fatal(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
599 logIfEnabled(FQCN, Level.FATAL, marker, msgSupplier, t);
600 }
601
602 @Override
603 public void fatal(final MessageSupplier msgSupplier) {
604 logIfEnabled(FQCN, Level.FATAL, null, msgSupplier, (Throwable) null);
605 }
606
607 @Override
608 public void fatal(final MessageSupplier msgSupplier, final Throwable t) {
609 logIfEnabled(FQCN, Level.FATAL, null, msgSupplier, t);
610 }
611
612 @Override
613 public MessageFactory getMessageFactory() {
614 return messageFactory;
615 }
616
617 @Override
618 public String getName() {
619 return name;
620 }
621
622 @Override
623 public void info(final Marker marker, final Message msg) {
624 logIfEnabled(FQCN, Level.INFO, marker, msg, null);
625 }
626
627 @Override
628 public void info(final Marker marker, final Message msg, final Throwable t) {
629 logIfEnabled(FQCN, Level.INFO, marker, msg, t);
630 }
631
632 @Override
633 public void info(final Marker marker, final Object message) {
634 logIfEnabled(FQCN, Level.INFO, marker, message, null);
635 }
636
637 @Override
638 public void info(final Marker marker, final Object message, final Throwable t) {
639 logIfEnabled(FQCN, Level.INFO, marker, message, t);
640 }
641
642 @Override
643 public void info(final Marker marker, final String message) {
644 logIfEnabled(FQCN, Level.INFO, marker, message, (Throwable) null);
645 }
646
647 @Override
648 public void info(final Marker marker, final String message, final Object... params) {
649 logIfEnabled(FQCN, Level.INFO, marker, message, params);
650 }
651
652 @Override
653 public void info(final Marker marker, final String message, final Throwable t) {
654 logIfEnabled(FQCN, Level.INFO, marker, message, t);
655 }
656
657 @Override
658 public void info(final Message msg) {
659 logIfEnabled(FQCN, Level.INFO, null, msg, null);
660 }
661
662 @Override
663 public void info(final Message msg, final Throwable t) {
664 logIfEnabled(FQCN, Level.INFO, null, msg, t);
665 }
666
667 @Override
668 public void info(final Object message) {
669 logIfEnabled(FQCN, Level.INFO, null, message, null);
670 }
671
672 @Override
673 public void info(final Object message, final Throwable t) {
674 logIfEnabled(FQCN, Level.INFO, null, message, t);
675 }
676
677 @Override
678 public void info(final String message) {
679 logIfEnabled(FQCN, Level.INFO, null, message, (Throwable) null);
680 }
681
682 @Override
683 public void info(final String message, final Object... params) {
684 logIfEnabled(FQCN, Level.INFO, null, message, params);
685 }
686
687 @Override
688 public void info(final String message, final Throwable t) {
689 logIfEnabled(FQCN, Level.INFO, null, message, t);
690 }
691
692 @Override
693 public void info(final Supplier<?> msgSupplier) {
694 logIfEnabled(FQCN, Level.INFO, null, msgSupplier, (Throwable) null);
695 }
696
697 @Override
698 public void info(final Supplier<?> msgSupplier, final Throwable t) {
699 logIfEnabled(FQCN, Level.INFO, null, msgSupplier, t);
700 }
701
702 @Override
703 public void info(final Marker marker, final Supplier<?> msgSupplier) {
704 logIfEnabled(FQCN, Level.INFO, marker, msgSupplier, (Throwable) null);
705 }
706
707 @Override
708 public void info(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
709 logIfEnabled(FQCN, Level.INFO, marker, message, paramSuppliers);
710 }
711
712 @Override
713 public void info(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
714 logIfEnabled(FQCN, Level.INFO, marker, msgSupplier, t);
715 }
716
717 @Override
718 public void info(final String message, final Supplier<?>... paramSuppliers) {
719 logIfEnabled(FQCN, Level.INFO, null, message, paramSuppliers);
720 }
721
722 @Override
723 public void info(final Marker marker, final MessageSupplier msgSupplier) {
724 logIfEnabled(FQCN, Level.INFO, marker, msgSupplier, (Throwable) null);
725 }
726
727 @Override
728 public void info(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
729 logIfEnabled(FQCN, Level.INFO, marker, msgSupplier, t);
730 }
731
732 @Override
733 public void info(final MessageSupplier msgSupplier) {
734 logIfEnabled(FQCN, Level.INFO, null, msgSupplier, (Throwable) null);
735 }
736
737 @Override
738 public void info(final MessageSupplier msgSupplier, final Throwable t) {
739 logIfEnabled(FQCN, Level.INFO, null, msgSupplier, t);
740 }
741
742 @Override
743 public boolean isDebugEnabled() {
744 return isEnabled(Level.DEBUG, null, null);
745 }
746
747 @Override
748 public boolean isDebugEnabled(final Marker marker) {
749 return isEnabled(Level.DEBUG, marker, (Object) null, null);
750 }
751
752 @Override
753 public boolean isEnabled(final Level level) {
754 return isEnabled(level, null, (Object) null, null);
755 }
756
757 @Override
758 public boolean isEnabled(final Level level, final Marker marker) {
759 return isEnabled(level, marker, (Object) null, null);
760 }
761
762 @Override
763 public boolean isErrorEnabled() {
764 return isEnabled(Level.ERROR, null, (Object) null, null);
765 }
766
767 @Override
768 public boolean isErrorEnabled(final Marker marker) {
769 return isEnabled(Level.ERROR, marker, (Object) null, null);
770 }
771
772 @Override
773 public boolean isFatalEnabled() {
774 return isEnabled(Level.FATAL, null, (Object) null, null);
775 }
776
777 @Override
778 public boolean isFatalEnabled(final Marker marker) {
779 return isEnabled(Level.FATAL, marker, (Object) null, null);
780 }
781
782 @Override
783 public boolean isInfoEnabled() {
784 return isEnabled(Level.INFO, null, (Object) null, null);
785 }
786
787 @Override
788 public boolean isInfoEnabled(final Marker marker) {
789 return isEnabled(Level.INFO, marker, (Object) null, null);
790 }
791
792 @Override
793 public boolean isTraceEnabled() {
794 return isEnabled(Level.TRACE, null, (Object) null, null);
795 }
796
797 @Override
798 public boolean isTraceEnabled(final Marker marker) {
799 return isEnabled(Level.TRACE, marker, (Object) null, null);
800 }
801
802 @Override
803 public boolean isWarnEnabled() {
804 return isEnabled(Level.WARN, null, (Object) null, null);
805 }
806
807 @Override
808 public boolean isWarnEnabled(final Marker marker) {
809 return isEnabled(Level.WARN, marker, (Object) null, null);
810 }
811
812 @Override
813 public void log(final Level level, final Marker marker, final Message msg) {
814 logIfEnabled(FQCN, level, marker, msg, (Throwable) null);
815 }
816
817 @Override
818 public void log(final Level level, final Marker marker, final Message msg, final Throwable t) {
819 logIfEnabled(FQCN, level, marker, msg, t);
820 }
821
822 @Override
823 public void log(final Level level, final Marker marker, final Object message) {
824 logIfEnabled(FQCN, level, marker, message, (Throwable) null);
825 }
826
827 @Override
828 public void log(final Level level, final Marker marker, final Object message, final Throwable t) {
829 if (isEnabled(level, marker, message, t)) {
830 logMessage(FQCN, level, marker, message, t);
831 }
832 }
833
834 @Override
835 public void log(final Level level, final Marker marker, final String message) {
836 logIfEnabled(FQCN, level, marker, message, (Throwable) null);
837 }
838
839 @Override
840 public void log(final Level level, final Marker marker, final String message, final Object... params) {
841 logIfEnabled(FQCN, level, marker, message, params);
842 }
843
844 @Override
845 public void log(final Level level, final Marker marker, final String message, final Throwable t) {
846 logIfEnabled(FQCN, level, marker, message, t);
847 }
848
849 @Override
850 public void log(final Level level, final Message msg) {
851 logIfEnabled(FQCN, level, null, msg, null);
852 }
853
854 @Override
855 public void log(final Level level, final Message msg, final Throwable t) {
856 logIfEnabled(FQCN, level, null, msg, t);
857 }
858
859 @Override
860 public void log(final Level level, final Object message) {
861 logIfEnabled(FQCN, level, null, message, null);
862 }
863
864 @Override
865 public void log(final Level level, final Object message, final Throwable t) {
866 logIfEnabled(FQCN, level, null, message, t);
867 }
868
869 @Override
870 public void log(final Level level, final String message) {
871 logIfEnabled(FQCN, level, null, message, (Throwable) null);
872 }
873
874 @Override
875 public void log(final Level level, final String message, final Object... params) {
876 logIfEnabled(FQCN, level, null, message, params);
877 }
878
879 @Override
880 public void log(final Level level, final String message, final Throwable t) {
881 logIfEnabled(FQCN, level, null, message, t);
882 }
883
884 @Override
885 public void log(final Level level, final Supplier<?> msgSupplier) {
886 logIfEnabled(FQCN, level, null, msgSupplier, (Throwable) null);
887 }
888
889 @Override
890 public void log(final Level level, final Supplier<?> msgSupplier, final Throwable t) {
891 logIfEnabled(FQCN, level, null, msgSupplier, t);
892 }
893
894 @Override
895 public void log(final Level level, final Marker marker, final Supplier<?> msgSupplier) {
896 logIfEnabled(FQCN, level, marker, msgSupplier, (Throwable) null);
897 }
898
899 @Override
900 public void log(final Level level, final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
901 logIfEnabled(FQCN, level, marker, message, paramSuppliers);
902 }
903
904 @Override
905 public void log(final Level level, final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
906 logIfEnabled(FQCN, level, marker, msgSupplier, t);
907 }
908
909 @Override
910 public void log(final Level level, final String message, final Supplier<?>... paramSuppliers) {
911 logIfEnabled(FQCN, level, null, message, paramSuppliers);
912 }
913
914 @Override
915 public void log(final Level level, final Marker marker, final MessageSupplier msgSupplier) {
916 logIfEnabled(FQCN, level, marker, msgSupplier, (Throwable) null);
917 }
918
919 @Override
920 public void log(final Level level, final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
921 logIfEnabled(FQCN, level, marker, msgSupplier, t);
922 }
923
924 @Override
925 public void log(final Level level, final MessageSupplier msgSupplier) {
926 logIfEnabled(FQCN, level, null, msgSupplier, (Throwable) null);
927 }
928
929 @Override
930 public void log(final Level level, final MessageSupplier msgSupplier, final Throwable t) {
931 logIfEnabled(FQCN, level, null, msgSupplier, t);
932 }
933
934 @Override
935 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final Message msg,
936 final Throwable t) {
937 if (isEnabled(level, marker, msg, t)) {
938 logMessage(fqcn, level, marker, msg, t);
939 }
940 }
941
942 @Override
943 public void logIfEnabled(final String fqcn, final Level level, final Marker marker,
944 final MessageSupplier msgSupplier, final Throwable t) {
945 if (isEnabled(level, marker, msgSupplier, t)) {
946 logMessage(fqcn, level, marker, msgSupplier, t);
947 }
948 }
949
950 @Override
951 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final Object message,
952 final Throwable t) {
953 if (isEnabled(level, marker, message, t)) {
954 logMessage(fqcn, level, marker, message, t);
955 }
956 }
957
958 @Override
959 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final Supplier<?> msgSupplier,
960 final Throwable t) {
961 if (isEnabled(level, marker, msgSupplier, t)) {
962 logMessage(fqcn, level, marker, msgSupplier, t);
963 }
964 }
965
966 @Override
967 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message) {
968 if (isEnabled(level, marker, message)) {
969 logMessage(fqcn, level, marker, message);
970 }
971 }
972
973 @Override
974 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
975 final Supplier<?>... paramSuppliers) {
976 if (isEnabled(level, marker, message)) {
977 logMessage(fqcn, level, marker, message, paramSuppliers);
978 }
979 }
980
981 @Override
982 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
983 final Object... params) {
984 if (isEnabled(level, marker, message, params)) {
985 logMessage(fqcn, level, marker, message, params);
986 }
987 }
988
989 @Override
990 public void logIfEnabled(final String fqcn, final Level level, final Marker marker, final String message,
991 final Throwable t) {
992 if (isEnabled(level, marker, message, t)) {
993 logMessage(fqcn, level, marker, message, t);
994 }
995 }
996
997 protected void logMessage(final String fqcn, final Level level, final Marker marker, final Object message,
998 final Throwable t) {
999 logMessage(fqcn, level, marker, messageFactory.newMessage(message), t);
1000 }
1001
1002 protected void logMessage(final String fqcn, final Level level, final Marker marker,
1003 final MessageSupplier msgSupplier, final Throwable t) {
1004 final Message message = LambdaUtil.get(msgSupplier);
1005 logMessage(fqcn, level, marker, message, t);
1006 }
1007
1008 protected void logMessage(final String fqcn, final Level level, final Marker marker, final Supplier<?> msgSupplier,
1009 final Throwable t) {
1010 final Object message = LambdaUtil.get(msgSupplier);
1011 logMessage(fqcn, level, marker, messageFactory.newMessage(message), t);
1012 }
1013
1014 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
1015 final Throwable t) {
1016 logMessage(fqcn, level, marker, messageFactory.newMessage(message), t);
1017 }
1018
1019 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message) {
1020 final Message msg = messageFactory.newMessage(message);
1021 logMessage(fqcn, level, marker, msg, msg.getThrowable());
1022 }
1023
1024 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
1025 final Object... params) {
1026 final Message msg = messageFactory.newMessage(message, params);
1027 logMessage(fqcn, level, marker, msg, msg.getThrowable());
1028 }
1029
1030 protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message,
1031 final Supplier<?>... paramSuppliers) {
1032 final Message msg = messageFactory.newMessage(message, LambdaUtil.getAll(paramSuppliers));
1033 logMessage(fqcn, level, marker, msg, msg.getThrowable());
1034 }
1035
1036 @Override
1037 public void printf(final Level level, final Marker marker, final String format, final Object... params) {
1038 if (isEnabled(level, marker, format, params)) {
1039 final Message msg = new StringFormattedMessage(format, params);
1040 logMessage(FQCN, level, marker, msg, msg.getThrowable());
1041 }
1042 }
1043
1044 @Override
1045 public void printf(final Level level, final String format, final Object... params) {
1046 if (isEnabled(level, null, format, params)) {
1047 final Message msg = new StringFormattedMessage(format, params);
1048 logMessage(FQCN, level, null, msg, msg.getThrowable());
1049 }
1050 }
1051
1052 @Override
1053 public <T extends Throwable> T throwing(final T t) {
1054 return throwing(FQCN, Level.ERROR, t);
1055 }
1056
1057 @Override
1058 public <T extends Throwable> T throwing(final Level level, final T t) {
1059 return throwing(FQCN, level, t);
1060 }
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071 protected <T extends Throwable> T throwing(final String fqcn, final Level level, final T t) {
1072 if (isEnabled(level, THROWING_MARKER, (Object) null, null)) {
1073 logMessage(fqcn, level, THROWING_MARKER, throwingMsg(t), t);
1074 }
1075 return t;
1076 }
1077
1078 protected Message throwingMsg(final Throwable t) {
1079 return messageFactory.newMessage(THROWING);
1080 }
1081
1082 @Override
1083 public void trace(final Marker marker, final Message msg) {
1084 logIfEnabled(FQCN, Level.TRACE, marker, msg, null);
1085 }
1086
1087 @Override
1088 public void trace(final Marker marker, final Message msg, final Throwable t) {
1089 logIfEnabled(FQCN, Level.TRACE, marker, msg, t);
1090 }
1091
1092 @Override
1093 public void trace(final Marker marker, final Object message) {
1094 logIfEnabled(FQCN, Level.TRACE, marker, message, null);
1095 }
1096
1097 @Override
1098 public void trace(final Marker marker, final Object message, final Throwable t) {
1099 logIfEnabled(FQCN, Level.TRACE, marker, message, t);
1100 }
1101
1102 @Override
1103 public void trace(final Marker marker, final String message) {
1104 logIfEnabled(FQCN, Level.TRACE, marker, message, (Throwable) null);
1105 }
1106
1107 @Override
1108 public void trace(final Marker marker, final String message, final Object... params) {
1109 logIfEnabled(FQCN, Level.TRACE, marker, message, params);
1110 }
1111
1112 @Override
1113 public void trace(final Marker marker, final String message, final Throwable t) {
1114 logIfEnabled(FQCN, Level.TRACE, marker, message, t);
1115 }
1116
1117 @Override
1118 public void trace(final Message msg) {
1119 logIfEnabled(FQCN, Level.TRACE, null, msg, null);
1120 }
1121
1122 @Override
1123 public void trace(final Message msg, final Throwable t) {
1124 logIfEnabled(FQCN, Level.TRACE, null, msg, t);
1125 }
1126
1127 @Override
1128 public void trace(final Object message) {
1129 logIfEnabled(FQCN, Level.TRACE, null, message, null);
1130 }
1131
1132 @Override
1133 public void trace(final Object message, final Throwable t) {
1134 logIfEnabled(FQCN, Level.TRACE, null, message, t);
1135 }
1136
1137 @Override
1138 public void trace(final String message) {
1139 logIfEnabled(FQCN, Level.TRACE, null, message, (Throwable) null);
1140 }
1141
1142 @Override
1143 public void trace(final String message, final Object... params) {
1144 logIfEnabled(FQCN, Level.TRACE, null, message, params);
1145 }
1146
1147 @Override
1148 public void trace(final String message, final Throwable t) {
1149 logIfEnabled(FQCN, Level.TRACE, null, message, t);
1150 }
1151
1152 @Override
1153 public void trace(final Supplier<?> msgSupplier) {
1154 logIfEnabled(FQCN, Level.TRACE, null, msgSupplier, (Throwable) null);
1155 }
1156
1157 @Override
1158 public void trace(final Supplier<?> msgSupplier, final Throwable t) {
1159 logIfEnabled(FQCN, Level.TRACE, null, msgSupplier, t);
1160 }
1161
1162 @Override
1163 public void trace(final Marker marker, final Supplier<?> msgSupplier) {
1164 logIfEnabled(FQCN, Level.TRACE, marker, msgSupplier, (Throwable) null);
1165 }
1166
1167 @Override
1168 public void trace(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
1169 logIfEnabled(FQCN, Level.TRACE, marker, message, paramSuppliers);
1170 }
1171
1172 @Override
1173 public void trace(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
1174 logIfEnabled(FQCN, Level.TRACE, marker, msgSupplier, t);
1175 }
1176
1177 @Override
1178 public void trace(final String message, final Supplier<?>... paramSuppliers) {
1179 logIfEnabled(FQCN, Level.TRACE, null, message, paramSuppliers);
1180 }
1181
1182 @Override
1183 public void trace(final Marker marker, final MessageSupplier msgSupplier) {
1184 logIfEnabled(FQCN, Level.TRACE, marker, msgSupplier, (Throwable) null);
1185 }
1186
1187 @Override
1188 public void trace(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
1189 logIfEnabled(FQCN, Level.TRACE, marker, msgSupplier, t);
1190 }
1191
1192 @Override
1193 public void trace(final MessageSupplier msgSupplier) {
1194 logIfEnabled(FQCN, Level.TRACE, null, msgSupplier, (Throwable) null);
1195 }
1196
1197 @Override
1198 public void trace(final MessageSupplier msgSupplier, final Throwable t) {
1199 logIfEnabled(FQCN, Level.TRACE, null, msgSupplier, t);
1200 }
1201
1202 @Override
1203 public void warn(final Marker marker, final Message msg) {
1204 logIfEnabled(FQCN, Level.WARN, marker, msg, null);
1205 }
1206
1207 @Override
1208 public void warn(final Marker marker, final Message msg, final Throwable t) {
1209 logIfEnabled(FQCN, Level.WARN, marker, msg, t);
1210 }
1211
1212 @Override
1213 public void warn(final Marker marker, final Object message) {
1214 logIfEnabled(FQCN, Level.WARN, marker, message, null);
1215 }
1216
1217 @Override
1218 public void warn(final Marker marker, final Object message, final Throwable t) {
1219 logIfEnabled(FQCN, Level.WARN, marker, message, t);
1220 }
1221
1222 @Override
1223 public void warn(final Marker marker, final String message) {
1224 logIfEnabled(FQCN, Level.WARN, marker, message, (Throwable) null);
1225 }
1226
1227 @Override
1228 public void warn(final Marker marker, final String message, final Object... params) {
1229 logIfEnabled(FQCN, Level.WARN, marker, message, params);
1230 }
1231
1232 @Override
1233 public void warn(final Marker marker, final String message, final Throwable t) {
1234 logIfEnabled(FQCN, Level.WARN, marker, message, t);
1235 }
1236
1237 @Override
1238 public void warn(final Message msg) {
1239 logIfEnabled(FQCN, Level.WARN, null, msg, null);
1240 }
1241
1242 @Override
1243 public void warn(final Message msg, final Throwable t) {
1244 logIfEnabled(FQCN, Level.WARN, null, msg, t);
1245 }
1246
1247 @Override
1248 public void warn(final Object message) {
1249 logIfEnabled(FQCN, Level.WARN, null, message, null);
1250 }
1251
1252 @Override
1253 public void warn(final Object message, final Throwable t) {
1254 logIfEnabled(FQCN, Level.WARN, null, message, t);
1255 }
1256
1257 @Override
1258 public void warn(final String message) {
1259 logIfEnabled(FQCN, Level.WARN, null, message, (Throwable) null);
1260 }
1261
1262 @Override
1263 public void warn(final String message, final Object... params) {
1264 logIfEnabled(FQCN, Level.WARN, null, message, params);
1265 }
1266
1267 @Override
1268 public void warn(final String message, final Throwable t) {
1269 logIfEnabled(FQCN, Level.WARN, null, message, t);
1270 }
1271
1272 @Override
1273 public void warn(final Supplier<?> msgSupplier) {
1274 logIfEnabled(FQCN, Level.WARN, null, msgSupplier, (Throwable) null);
1275 }
1276
1277 @Override
1278 public void warn(final Supplier<?> msgSupplier, final Throwable t) {
1279 logIfEnabled(FQCN, Level.WARN, null, msgSupplier, t);
1280 }
1281
1282 @Override
1283 public void warn(final Marker marker, final Supplier<?> msgSupplier) {
1284 logIfEnabled(FQCN, Level.WARN, marker, msgSupplier, (Throwable) null);
1285 }
1286
1287 @Override
1288 public void warn(final Marker marker, final String message, final Supplier<?>... paramSuppliers) {
1289 logIfEnabled(FQCN, Level.WARN, marker, message, paramSuppliers);
1290 }
1291
1292 @Override
1293 public void warn(final Marker marker, final Supplier<?> msgSupplier, final Throwable t) {
1294 logIfEnabled(FQCN, Level.WARN, marker, msgSupplier, t);
1295 }
1296
1297 @Override
1298 public void warn(final String message, final Supplier<?>... paramSuppliers) {
1299 logIfEnabled(FQCN, Level.WARN, null, message, paramSuppliers);
1300 }
1301
1302 @Override
1303 public void warn(final Marker marker, final MessageSupplier msgSupplier) {
1304 logIfEnabled(FQCN, Level.WARN, marker, msgSupplier, (Throwable) null);
1305 }
1306
1307 @Override
1308 public void warn(final Marker marker, final MessageSupplier msgSupplier, final Throwable t) {
1309 logIfEnabled(FQCN, Level.WARN, marker, msgSupplier, t);
1310 }
1311
1312 @Override
1313 public void warn(final MessageSupplier msgSupplier) {
1314 logIfEnabled(FQCN, Level.WARN, null, msgSupplier, (Throwable) null);
1315 }
1316
1317 @Override
1318 public void warn(final MessageSupplier msgSupplier, final Throwable t) {
1319 logIfEnabled(FQCN, Level.WARN, null, msgSupplier, t);
1320 }
1321 }