@@ -285,8 +285,10 @@ protected boolean requiresLocation() {
285
285
return false ;
286
286
}
287
287
288
- // <editor-fold desc="Message factories ">
288
+ // <editor-fold desc="Unconditional logging ">
289
289
// Methods that always log a message regardless of the current logger level.
290
+
291
+ // <editor-fold desc="Logging methods">
290
292
@ PerformanceSensitive
291
293
protected void logMessage (
292
294
final String fqcn ,
@@ -521,6 +523,58 @@ protected void logMessage(
521
523
}
522
524
// </editor-fold>
523
525
526
+ // <editor-fold desc="Flow messages">
527
+ protected @ Nullable EntryMessage logEnterMessage (
528
+ final String fqcn , final @ Nullable String format , final @ Nullable Object ... params ) {
529
+ final EntryMessage entryMessage = flowMessageFactory .newEntryMessage (format , params );
530
+ logMessageSafely (fqcn , null , Level .TRACE , ENTRY_MARKER , entryMessage , null );
531
+ return entryMessage ;
532
+ }
533
+
534
+ protected @ Nullable EntryMessage logEnterMessage (final String fqcn , final @ Nullable Message message ) {
535
+ final EntryMessage entryMessage = flowMessageFactory .newEntryMessage (message );
536
+ logMessageSafely (fqcn , null , Level .TRACE , ENTRY_MARKER , entryMessage , null );
537
+ return entryMessage ;
538
+ }
539
+
540
+ protected void logExitMessage (
541
+ final String fqcn , final @ Nullable EntryMessage message , final @ Nullable Object result ) {
542
+ logMessageSafely (
543
+ fqcn , null , Level .TRACE , EXIT_MARKER , flowMessageFactory .newExitMessage (result , message ), null );
544
+ }
545
+
546
+ protected void logExitMessage (final String fqcn , final @ Nullable Message message , final @ Nullable Object result ) {
547
+ logMessageSafely (
548
+ fqcn , null , Level .TRACE , EXIT_MARKER , flowMessageFactory .newExitMessage (result , message ), null );
549
+ }
550
+
551
+ protected void logExitMessage (final String fqcn , final @ Nullable String format , final @ Nullable Object result ) {
552
+ logMessageSafely (fqcn , null , Level .TRACE , EXIT_MARKER , flowMessageFactory .newExitMessage (format , result ), null );
553
+ }
554
+ // </editor-fold>
555
+
556
+ // <editor-fold desc="Miscellaneous">
557
+ protected void logCatchingMessage (final String fqcn , final Level level , final @ Nullable Throwable throwable ) {
558
+ logMessageSafely (fqcn , null , level , CATCHING_MARKER , messageFactory .newMessage (CATCHING ), throwable );
559
+ }
560
+
561
+ protected void logPrintfMessage (
562
+ final String fqcn ,
563
+ final Level level ,
564
+ final @ Nullable Marker marker ,
565
+ final String format ,
566
+ final Object ... params ) {
567
+ final Message message = new StringFormattedMessage (format , params );
568
+ logMessageSafely (fqcn , null , level , marker , message , message .getThrowable ());
569
+ }
570
+
571
+ protected void logThrowingMessage (final String fqcn , final Level level , final Throwable throwable ) {
572
+ logMessageSafely (fqcn , null , level , THROWING_MARKER , messageFactory .newMessage (THROWING ), throwable );
573
+ }
574
+ // </editor-fold>
575
+
576
+ // </editor-fold>
577
+
524
578
// <editor-fold desc="Filter methods">
525
579
@ Override
526
580
public boolean isDebugEnabled () {
@@ -1076,162 +1130,6 @@ public void logMessage(
1076
1130
}
1077
1131
// </editor-fold>
1078
1132
1079
- // <editor-fold desc="Flow messages">
1080
- /**
1081
- * Logs entry to a method with location information.
1082
- *
1083
- * @param fqcn The fully qualified class name of the <b>caller</b>.
1084
- * @param format The format String for the parameters.
1085
- * @param params The parameters to the method.
1086
- * @return The EntryMessage.
1087
- */
1088
- protected @ Nullable EntryMessage enter (
1089
- final String fqcn , final @ Nullable String format , final @ Nullable Object ... params ) {
1090
- EntryMessage entryMsg = null ;
1091
- if (isEnabled (Level .TRACE , ENTRY_MARKER )) {
1092
- logMessageSafely (
1093
- fqcn ,
1094
- null ,
1095
- Level .TRACE ,
1096
- ENTRY_MARKER ,
1097
- entryMsg = flowMessageFactory .newEntryMessage (format , params ),
1098
- null );
1099
- }
1100
- return entryMsg ;
1101
- }
1102
-
1103
- /**
1104
- * Logs entry to a method with location information.
1105
- *
1106
- * @param fqcn The fully qualified class name of the <b>caller</b>.
1107
- * @param message the Message.
1108
- * @return The EntryMessage.
1109
- * @since 2.6
1110
- */
1111
- protected @ Nullable EntryMessage enter (final String fqcn , final @ Nullable Message message ) {
1112
- EntryMessage flowMessage = null ;
1113
- if (isEnabled (Level .TRACE , ENTRY_MARKER )) {
1114
- logMessageSafely (
1115
- fqcn ,
1116
- null ,
1117
- Level .TRACE ,
1118
- ENTRY_MARKER ,
1119
- flowMessage = flowMessageFactory .newEntryMessage (message ),
1120
- null );
1121
- }
1122
- return flowMessage ;
1123
- }
1124
-
1125
- /**
1126
- * Logs entry to a method with location information.
1127
- *
1128
- * @param fqcn The fully qualified class name of the <b>caller</b>.
1129
- * @param format Format String for the parameters.
1130
- * @param paramSuppliers The Suppliers of the parameters.
1131
- * @return The EntryMessage.
1132
- */
1133
- @ SuppressWarnings ("deprecation" )
1134
- protected @ Nullable EntryMessage enter (
1135
- final String fqcn , final @ Nullable String format , final Supplier <?>... paramSuppliers ) {
1136
- EntryMessage entryMsg = null ;
1137
- if (isEnabled (Level .TRACE , ENTRY_MARKER )) {
1138
- final Message message =
1139
- entryMsg = flowMessageFactory .newEntryMessage (format , LambdaUtil .getAll (paramSuppliers ));
1140
- logMessageSafely (fqcn , null , Level .TRACE , ENTRY_MARKER , message , null );
1141
- }
1142
- return entryMsg ;
1143
- }
1144
-
1145
- /**
1146
- * Logs exiting from a method with the result and location information.
1147
- *
1148
- * @param fqcn The fully qualified class name of the <b>caller</b>.
1149
- * @param <R> The type of the parameter and object being returned.
1150
- * @param result The result being returned from the method call.
1151
- * @return the return value passed to this method.
1152
- */
1153
- protected <R > R exit (final String fqcn , final R result ) {
1154
- if (isEnabled (Level .TRACE , EXIT_MARKER )) {
1155
- final Message exitMessage = flowMessageFactory .newExitMessage (null , result );
1156
- logMessageSafely (fqcn , null , Level .TRACE , EXIT_MARKER , exitMessage , null );
1157
- }
1158
- return result ;
1159
- }
1160
-
1161
- protected <R > @ Nullable R exit (final String fqcn , final @ Nullable EntryMessage message , final @ Nullable R result ) {
1162
- // If the message is null, traceEnter returned null because flow logging was disabled, we can optimize out
1163
- // calling isEnabled().
1164
- if (message != null && isEnabled (Level .TRACE , EXIT_MARKER , message , null )) {
1165
- final Message exitMessage = flowMessageFactory .newExitMessage (result , message );
1166
- logMessageSafely (fqcn , null , Level .TRACE , EXIT_MARKER , exitMessage , null );
1167
- }
1168
- return result ;
1169
- }
1170
-
1171
- protected <R > @ Nullable R exit (final String fqcn , final @ Nullable Message message , final @ Nullable R result ) {
1172
- // If the message is null, traceEnter returned null because flow logging was disabled, we can optimize out
1173
- // calling isEnabled().
1174
- if (message != null && isEnabled (Level .TRACE , EXIT_MARKER , message , null )) {
1175
- final Message exitMessage = flowMessageFactory .newExitMessage (result , message );
1176
- logMessageSafely (fqcn , null , Level .TRACE , EXIT_MARKER , exitMessage , null );
1177
- }
1178
- return result ;
1179
- }
1180
-
1181
- /**
1182
- * Logs exiting from a method with the result and location information.
1183
- *
1184
- * @param fqcn The fully qualified class name of the <b>caller</b>.
1185
- * @param format The format string.
1186
- * @param <R> The type of the parameter and object being returned.
1187
- * @param result The result being returned from the method call.
1188
- * @return the return value passed to this method.
1189
- */
1190
- protected <R > @ Nullable R exit (final String fqcn , final @ Nullable String format , final @ Nullable R result ) {
1191
- if (isEnabled (Level .TRACE , EXIT_MARKER )) {
1192
- final Message exitMessage = flowMessageFactory .newExitMessage (format , result );
1193
- logMessageSafely (fqcn , null , Level .TRACE , EXIT_MARKER , exitMessage , null );
1194
- }
1195
- return result ;
1196
- }
1197
- // </editor-fold>
1198
-
1199
- // <editor-fold desc="Miscellaneous">
1200
- protected void catching (final String fqcn , final Level level , final @ Nullable Throwable throwable ) {
1201
- if (isEnabled (level , CATCHING_MARKER )) {
1202
- logMessageSafely (fqcn , null , level , CATCHING_MARKER , messageFactory .newMessage (CATCHING ), throwable );
1203
- }
1204
- }
1205
-
1206
- protected void printf (
1207
- final String fqcn ,
1208
- final Level level ,
1209
- final @ Nullable Marker marker ,
1210
- final String format ,
1211
- final Object ... params ) {
1212
- if (isEnabled (level , marker , format , params )) {
1213
- final Message message = new StringFormattedMessage (format , params );
1214
- logMessageSafely (fqcn , null , level , marker , message , message .getThrowable ());
1215
- }
1216
- }
1217
-
1218
- /**
1219
- * Logs a Throwable to be thrown.
1220
- *
1221
- * @param <T> the type of the Throwable.
1222
- * @param fqcn the fully qualified class name of this Logger implementation.
1223
- * @param level The logging Level.
1224
- * @param throwable The Throwable.
1225
- * @return the Throwable.
1226
- */
1227
- protected <T extends Throwable > T throwing (final String fqcn , final Level level , final T throwable ) {
1228
- if (isEnabled (level , THROWING_MARKER )) {
1229
- logMessageSafely (fqcn , null , level , THROWING_MARKER , messageFactory .newMessage (THROWING ), throwable );
1230
- }
1231
- return throwable ;
1232
- }
1233
- // </editor-fold>
1234
-
1235
1133
// </editor-fold>
1236
1134
1237
1135
// <editor-fold desc="Public API">
@@ -3877,109 +3775,179 @@ public void warn(
3877
3775
// </editor-fold>
3878
3776
3879
3777
// <editor-fold desc="Flow messages">
3778
+ private @ Nullable EntryMessage enter (final @ Nullable String format , final @ Nullable Object ... params ) {
3779
+ EntryMessage entryMessage = null ;
3780
+ if (isEnabled (Level .TRACE , ENTRY_MARKER )) {
3781
+ entryMessage = logEnterMessage (FQCN , format , params );
3782
+ }
3783
+ return entryMessage ;
3784
+ }
3785
+
3880
3786
@ Override
3881
- public @ Nullable EntryMessage traceEntry () {
3882
- return enter (FQCN , null , EMPTY_PARAMS );
3787
+ public final @ Nullable EntryMessage traceEntry () {
3788
+ return enter (null , EMPTY_PARAMS );
3883
3789
}
3884
3790
3885
3791
@ Override
3886
- public @ Nullable EntryMessage traceEntry (final String format , final Object ... params ) {
3887
- return enter (FQCN , format , params );
3792
+ public final @ Nullable EntryMessage traceEntry (final String format , final Object ... params ) {
3793
+ return enter (format , params );
3794
+ }
3795
+
3796
+ @ SuppressWarnings ("deprecation" )
3797
+ private @ Nullable EntryMessage enter (final @ Nullable String format , final Supplier <?>... paramSuppliers ) {
3798
+ EntryMessage entryMessage = null ;
3799
+ if (isEnabled (Level .TRACE , ENTRY_MARKER )) {
3800
+ entryMessage = logEnterMessage (FQCN , format , LambdaUtil .getAll (paramSuppliers ));
3801
+ }
3802
+ return entryMessage ;
3888
3803
}
3889
3804
3890
3805
@ Override
3891
3806
@ SuppressWarnings ("deprecation" )
3892
- public @ Nullable EntryMessage traceEntry (final Supplier <?>... paramSuppliers ) {
3893
- return enter (FQCN , null , paramSuppliers );
3807
+ public final @ Nullable EntryMessage traceEntry (final Supplier <?>... paramSuppliers ) {
3808
+ return enter (null , paramSuppliers );
3894
3809
}
3895
3810
3896
3811
@ Override
3897
3812
@ SuppressWarnings ("deprecation" )
3898
- public @ Nullable EntryMessage traceEntry (final String format , final Supplier <?>... paramSuppliers ) {
3899
- return enter (FQCN , format , paramSuppliers );
3813
+ public final @ Nullable EntryMessage traceEntry (final String format , final Supplier <?>... paramSuppliers ) {
3814
+ return enter (format , paramSuppliers );
3815
+ }
3816
+
3817
+ @ Override
3818
+ public final @ Nullable EntryMessage traceEntry (final @ Nullable Message message ) {
3819
+ EntryMessage entryMessage = null ;
3820
+ if (isEnabled (Level .TRACE , ENTRY_MARKER )) {
3821
+ entryMessage = logEnterMessage (FQCN , message );
3822
+ }
3823
+ return entryMessage ;
3824
+ }
3825
+
3826
+ private <R > @ Nullable R exit (final @ Nullable String format , final @ Nullable R result ) {
3827
+ if (isEnabled (Level .TRACE , EXIT_MARKER )) {
3828
+ logExitMessage (FQCN , format , result );
3829
+ }
3830
+ return result ;
3900
3831
}
3901
3832
3902
3833
@ Override
3903
- public @ Nullable EntryMessage traceEntry ( final @ Nullable Message message ) {
3904
- return enter ( FQCN , message );
3834
+ public final void traceExit ( ) {
3835
+ exit (( String ) null , null );
3905
3836
}
3906
3837
3907
3838
@ Override
3908
- public void traceExit () {
3909
- exit (FQCN , (String ) null , null );
3839
+ public final < R > @ Nullable R traceExit (final @ Nullable R result ) {
3840
+ return exit ((String ) null , result );
3910
3841
}
3911
3842
3912
3843
@ Override
3913
- public <R > @ Nullable R traceExit (final R result ) {
3914
- return exit (FQCN , (String ) null , result );
3844
+ public final <R > @ Nullable R traceExit (final String format , final @ Nullable R result ) {
3845
+ return exit (format , result );
3846
+ }
3847
+
3848
+ private <R > @ Nullable R exit (final @ Nullable EntryMessage message , final @ Nullable R result ) {
3849
+ // If the message is null, traceEnter returned null because flow logging was disabled, we can optimize out
3850
+ // calling isEnabled().
3851
+ if (message != null && isEnabled (Level .TRACE , EXIT_MARKER , message , null )) {
3852
+ logExitMessage (FQCN , message , result );
3853
+ }
3854
+ return result ;
3855
+ }
3856
+
3857
+ @ Override
3858
+ public final void traceExit (final EntryMessage message ) {
3859
+ exit (message , null );
3860
+ }
3861
+
3862
+ @ Override
3863
+ public final <R > @ Nullable R traceExit (final EntryMessage message , final @ Nullable R result ) {
3864
+ return exit (message , result );
3865
+ }
3866
+
3867
+ @ Override
3868
+ public final <R > @ Nullable R traceExit (final @ Nullable Message message , final @ Nullable R result ) {
3869
+ // If the message is null, traceEnter returned null because flow logging was disabled, we can optimize out
3870
+ // calling isEnabled().
3871
+ if (message != null && isEnabled (Level .TRACE , EXIT_MARKER , message , null )) {
3872
+ logExitMessage (FQCN , message , result );
3873
+ }
3874
+ return result ;
3915
3875
}
3916
3876
3917
3877
@ Override
3918
- public < R > @ Nullable R traceExit ( final String format , final R result ) {
3919
- return exit ( FQCN , format , result );
3878
+ public void entry ( ) {
3879
+ enter ( null , EMPTY_PARAMS );
3920
3880
}
3921
3881
3922
3882
@ Override
3923
- public void traceExit (final EntryMessage message ) {
3924
- exit ( FQCN , message , null );
3883
+ public void entry (final Object ... params ) {
3884
+ enter ( null , params );
3925
3885
}
3926
3886
3927
3887
@ Override
3928
- public < R > @ Nullable R traceExit ( final EntryMessage message , final R result ) {
3929
- return exit (FQCN , message , result );
3888
+ public void exit ( ) {
3889
+ exit (( String ) null , null );
3930
3890
}
3931
3891
3932
3892
@ Override
3933
- public <R > @ Nullable R traceExit ( final @ Nullable Message message , final R result ) {
3934
- return exit (FQCN , message , result );
3893
+ public <R > R exit ( final R result ) {
3894
+ return exit (( String ) null , result );
3935
3895
}
3936
3896
// </editor-fold>
3937
3897
3938
3898
// <editor-fold desc="Miscellaneous">
3939
3899
@ Override
3940
- public void catching (final Level level , final @ Nullable Throwable throwable ) {
3941
- catching (FQCN , level , throwable );
3900
+ public final void catching (final Level level , final @ Nullable Throwable throwable ) {
3901
+ if (isEnabled (level , CATCHING_MARKER )) {
3902
+ logCatchingMessage (FQCN , level , throwable );
3903
+ }
3942
3904
}
3943
3905
3944
3906
@ Override
3945
- public void catching (final @ Nullable Throwable throwable ) {
3946
- catching (FQCN , Level .ERROR , throwable );
3907
+ public final void catching (final @ Nullable Throwable throwable ) {
3908
+ catching (Level .ERROR , throwable );
3947
3909
}
3948
3910
3949
- @ SuppressWarnings ("unchecked" )
3950
3911
@ Override
3951
- public <MF extends MessageFactory > MF getMessageFactory () {
3952
- return (MF ) messageFactory ;
3912
+ public final void printf (
3913
+ final Level level , final @ Nullable Marker marker , final String format , final Object ... params ) {
3914
+ if (isEnabled (level , marker , format , params )) {
3915
+ logPrintfMessage (FQCN , level , marker , format , params );
3916
+ }
3953
3917
}
3954
3918
3955
3919
@ Override
3956
- public FlowMessageFactory getFlowMessageFactory ( ) {
3957
- return flowMessageFactory ;
3920
+ public final void printf ( final Level level , final String format , final Object ... params ) {
3921
+ printf ( level , null , format , params ) ;
3958
3922
}
3959
3923
3960
3924
@ Override
3961
- public String getName ( ) {
3962
- return name ;
3925
+ public final < T extends Throwable > T throwing ( final T throwable ) {
3926
+ return throwing ( Level . ERROR , throwable ) ;
3963
3927
}
3964
3928
3965
3929
@ Override
3966
- public void printf (final Level level , final @ Nullable Marker marker , final String format , final Object ... params ) {
3967
- printf (FQCN , level , marker , format , params );
3930
+ public final <T extends Throwable > T throwing (final Level level , final T throwable ) {
3931
+ if (isEnabled (level , THROWING_MARKER )) {
3932
+ logThrowingMessage (FQCN , level , throwable );
3933
+ }
3934
+ return throwable ;
3968
3935
}
3969
3936
3937
+ @ SuppressWarnings ("unchecked" )
3970
3938
@ Override
3971
- public void printf ( final Level level , final String format , final Object ... params ) {
3972
- printf ( FQCN , level , null , format , params ) ;
3939
+ public < MF extends MessageFactory > MF getMessageFactory ( ) {
3940
+ return ( MF ) messageFactory ;
3973
3941
}
3974
3942
3975
3943
@ Override
3976
- public < T extends Throwable > T throwing ( final T throwable ) {
3977
- return throwing ( FQCN , Level . ERROR , throwable ) ;
3944
+ public FlowMessageFactory getFlowMessageFactory ( ) {
3945
+ return flowMessageFactory ;
3978
3946
}
3979
3947
3980
3948
@ Override
3981
- public < T extends Throwable > T throwing ( final Level level , final T throwable ) {
3982
- return throwing ( FQCN , level , throwable ) ;
3949
+ public String getName ( ) {
3950
+ return name ;
3983
3951
}
3984
3952
// </editor-fold>
3985
3953
0 commit comments