1818
1919import static org .assertj .core .api .Assertions .assertThat ;
2020import static org .junit .Assert .assertTrue ;
21+ import static org .junit .jupiter .api .Assertions .assertDoesNotThrow ;
2122
2223import java .util .List ;
2324import org .apache .logging .log4j .Level ;
@@ -62,12 +63,10 @@ public class LoggerConversionHandlerExample {
6263
6364 private static final Logger logger = LogManager .getLogger ();
6465
65- private static final int referenceLine = 65 ;
66-
6766 public void testFatal (final ListAppender app ) {
6867 app .clear ();
6968 final String methodName = "testFatal" ;
70- int lineNumber = referenceLine + 5 ; // current line number
69+ int lineNumber = getLineNumber () ; // current line number
7170 logger .fatal (CHAR_SEQUENCE );
7271 assertLocationEquals (methodName , ++lineNumber , app );
7372 logger .fatal (CHAR_SEQUENCE , THROWABLE );
@@ -165,7 +164,7 @@ public void testFatal(final ListAppender app) {
165164 public void testError (final ListAppender app ) {
166165 app .clear ();
167166 final String methodName = "testError" ;
168- int lineNumber = referenceLine + 103 ; // current line number
167+ int lineNumber = getLineNumber () ; // current line number
169168 logger .error (CHAR_SEQUENCE );
170169 assertLocationEquals (methodName , ++lineNumber , app );
171170 logger .error (CHAR_SEQUENCE , THROWABLE );
@@ -263,7 +262,7 @@ public void testError(final ListAppender app) {
263262 public void testWarn (final ListAppender app ) {
264263 app .clear ();
265264 final String methodName = "testWarn" ;
266- int lineNumber = referenceLine + 201 ; // current line number
265+ int lineNumber = getLineNumber () ; // current line number
267266 logger .warn (CHAR_SEQUENCE );
268267 assertLocationEquals (methodName , ++lineNumber , app );
269268 logger .warn (CHAR_SEQUENCE , THROWABLE );
@@ -361,7 +360,7 @@ public void testWarn(final ListAppender app) {
361360 public void testInfo (final ListAppender app ) {
362361 app .clear ();
363362 final String methodName = "testInfo" ;
364- int lineNumber = referenceLine + 299 ; // current line number
363+ int lineNumber = getLineNumber () ; // current line number
365364 logger .info (CHAR_SEQUENCE );
366365 assertLocationEquals (methodName , ++lineNumber , app );
367366 logger .info (CHAR_SEQUENCE , THROWABLE );
@@ -459,7 +458,7 @@ public void testInfo(final ListAppender app) {
459458 public void testDebug (final ListAppender app ) {
460459 app .clear ();
461460 final String methodName = "testDebug" ;
462- int lineNumber = referenceLine + 397 ; // current line number
461+ int lineNumber = getLineNumber () ; // current line number
463462 logger .debug (CHAR_SEQUENCE );
464463 assertLocationEquals (methodName , ++lineNumber , app );
465464 logger .debug (CHAR_SEQUENCE , THROWABLE );
@@ -557,7 +556,7 @@ public void testDebug(final ListAppender app) {
557556 public void testTrace (final ListAppender app ) {
558557 app .clear ();
559558 final String methodName = "testTrace" ;
560- int lineNumber = referenceLine + 495 ; // current line number
559+ int lineNumber = getLineNumber () ; // current line number
561560 logger .trace (CHAR_SEQUENCE );
562561 assertLocationEquals (methodName , ++lineNumber , app );
563562 logger .trace (CHAR_SEQUENCE , THROWABLE );
@@ -655,7 +654,7 @@ public void testTrace(final ListAppender app) {
655654 public void testLog (final ListAppender app ) {
656655 app .clear ();
657656 final String methodName = "testLog" ;
658- int lineNumber = referenceLine + 593 ; // current line number
657+ int lineNumber = getLineNumber () ; // current line number
659658 logger .log (Level .INFO , CHAR_SEQUENCE );
660659 assertLocationEquals (methodName , ++lineNumber , app );
661660 logger .log (Level .INFO , CHAR_SEQUENCE , THROWABLE );
@@ -753,7 +752,7 @@ public void testLog(final ListAppender app) {
753752 public void testFrames (final ListAppender app ) {
754753 app .clear ();
755754 final String methodName = "testFrames" ;
756- final int lineNumber = referenceLine + 691 ; // Current line
755+ final int lineNumber = getLineNumber () ; // Current line
757756 int i = 0 ;
758757 while (i < 2 ) {
759758 if (i < 1 ) {
@@ -782,7 +781,7 @@ public void testFrames(final ListAppender app) {
782781 public void testPrintf (final ListAppender app ) {
783782 app .clear ();
784783 final String methodName = "testPrintf" ;
785- int lineNumber = referenceLine + 720 ; // Current line
784+ int lineNumber = getLineNumber () ; // Current line
786785 logger .printf (Level .INFO , "Hello %s.%s" , "LoggerConversionHandlerExample" , methodName );
787786 assertLocationEquals (methodName , ++lineNumber , app );
788787 logger .printf (Level .INFO , MARKER , "Hello %s.%s" , "LoggerConversionHandlerExample" , methodName );
@@ -792,7 +791,7 @@ public void testPrintf(final ListAppender app) {
792791 public void testLogBuilder (final ListAppender app ) {
793792 app .clear ();
794793 final String methodName = "testLogBuilder" ;
795- int lineNumber = referenceLine + 730 ; // Current line
794+ int lineNumber = getLineNumber () ; // Current line
796795 logger .always ().log ();
797796 assertLocationEquals (methodName , ++lineNumber , app );
798797 logger .atDebug ().log ();
@@ -829,6 +828,10 @@ public void testPassthrough(final ListAppender app) {
829828 assertTrue (logger .isTraceEnabled (MARKER ));
830829 assertTrue (logger .isWarnEnabled ());
831830 assertTrue (logger .isWarnEnabled (MARKER ));
831+ assertDoesNotThrow (logger ::getName );
832+ assertDoesNotThrow (logger ::getLevel );
833+ assertDoesNotThrow (logger ::getFlowMessageFactory );
834+ assertDoesNotThrow (logger ::getClass );
832835 app .clear ();
833836 logger .logMessage (Level .INFO , MARKER , LoggerConversionHandlerExample .class .getName (), null , MESSAGE , THROWABLE );
834837 assertThat (app .getEvents ()).hasSize (1 );
@@ -837,7 +840,7 @@ public void testPassthrough(final ListAppender app) {
837840 public void testCatchingThrowing (final ListAppender app ) {
838841 app .clear ();
839842 final String methodName = "testCatchingThrowing" ;
840- int lineNumber = referenceLine + 775 ; // Current line
843+ int lineNumber = getLineNumber () ; // Current line
841844 logger .catching (THROWABLE );
842845 assertThat (app .getEvents ()).allMatch (event -> AbstractLogger .CATCHING_MARKER .equals (event .getMarker ()));
843846 assertLocationEquals (methodName , ++lineNumber , app );
@@ -855,7 +858,7 @@ public void testCatchingThrowing(final ListAppender app) {
855858 public void testTraceEntry (final ListAppender app ) {
856859 app .clear ();
857860 final String methodName = "testTraceEntry" ;
858- int lineNumber = referenceLine + 793 ; // Current line
861+ int lineNumber = getLineNumber () ; // Current line
859862 EntryMessage entryMessage = logger .traceEntry ();
860863 LogEvent event = assertLocationEquals (methodName , ++lineNumber , app );
861864 assertThat (event .getMarker ()).isEqualTo (AbstractLogger .ENTRY_MARKER );
@@ -885,7 +888,7 @@ public void testTraceEntry(final ListAppender app) {
885888 public void testTraceExit (final ListAppender app ) {
886889 app .clear ();
887890 final String methodName = "testTraceExit" ;
888- int lineNumber = referenceLine + 823 ; // Current line
891+ int lineNumber = getLineNumber () ; // Current line
889892 logger .traceExit ();
890893 LogEvent event = assertLocationEquals (methodName , ++lineNumber , app );
891894 assertThat (event .getMarker ()).isEqualTo (AbstractLogger .EXIT_MARKER );
@@ -942,4 +945,8 @@ private static LogEvent assertLocationEquals(
942945 app .clear ();
943946 return event ;
944947 }
948+
949+ private static int getLineNumber () {
950+ return Thread .currentThread ().getStackTrace ()[2 ].getLineNumber ();
951+ }
945952}
0 commit comments