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