Skip to content

Commit

Permalink
Introduce support for logging debug entries with Throwable
Browse files Browse the repository at this point in the history
  • Loading branch information
injectives committed Jun 22, 2021
1 parent f31c0f0 commit 0a95a0d
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 6 deletions.
6 changes: 6 additions & 0 deletions driver/clirr-ignored-differences.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,10 @@
<method>java.lang.String agent()</method>
</difference>

<difference>
<className>org/neo4j/driver/Logger</className>
<differenceType>7012</differenceType>
<method>void debug(java.lang.String, java.lang.Throwable)</method>
</difference>

</differences>
8 changes: 8 additions & 0 deletions driver/src/main/java/org/neo4j/driver/Logger.java
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,14 @@ public interface Logger
*/
void debug( String message, Object... params );

/**
* Logs debug message with throwable.
*
* @param message the message to log
* @param throwable the throwable to include into the log entry
*/
void debug( String message, Throwable throwable );

/**
* Logs binary sent and received by this driver.
* It is only enabled when {@link Logger#isTraceEnabled()} returns {@code true}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ public void debug( String message, Object... params )
{
}

@Override
public void debug( String message, Throwable throwable )
{
}

@Override
public void trace( String message, Object... params )
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,25 @@ public void warn( String message, Throwable cause )
@Override
public void debug( String format, Object... params )
{
if( debugEnabled )
if ( debugEnabled )
{
delegate.log( Level.FINE, String.format( format, params ) );
}
}

@Override
public void debug( String message, Throwable throwable )
{
if ( debugEnabled )
{
delegate.log( Level.FINE, message, throwable );
}
}

@Override
public void trace( String format, Object... params )
{
if( traceEnabled )
if ( traceEnabled )
{
delegate.log( Level.FINEST, String.format( format, params ) );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,15 @@ public void debug( String message, Object... params )
}
}

@Override
public void debug( String message, Throwable throwable )
{
if ( isDebugEnabled() )
{
delegate.debug( reformat( message ), throwable );
}
}

@Override
public void trace( String message, Object... params )
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,15 @@ public void debug( String message, Object... params )
}
}

@Override
public void debug( String message, Throwable throwable )
{
if ( isDebugEnabled() )
{
delegate.debug( message, throwable );
}
}

@Override
public void trace( String message, Object... params )
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ void logShouldRecordDebugAndTraceInfo()
}

// Then
verify( logger, atLeastOnce() ).debug( anyString(), any() );
verify( logger, atLeastOnce() ).debug( anyString(), any( Object[].class ) );
verify( logger, atLeastOnce() ).trace( anyString(), any() );
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@
import static org.neo4j.driver.internal.logging.DevNullLogging.DEV_NULL_LOGGING;
import static org.neo4j.driver.util.StubServer.INSECURE_CONFIG;
import static org.neo4j.driver.util.StubServer.insecureBuilder;
import static org.neo4j.driver.util.StubServer.start;
import static org.neo4j.driver.util.TestUtil.asOrderedSet;
import static org.neo4j.driver.util.TestUtil.await;

Expand Down Expand Up @@ -181,7 +180,7 @@ void shouldLogConnectionIdInDebugMode() throws Exception
assertEquals( asList( "Foo", "Bar" ), names );

ArgumentCaptor<String> messageCaptor = ArgumentCaptor.forClass( String.class );
verify( logger, atLeastOnce() ).debug( messageCaptor.capture(), any() );
verify( logger, atLeastOnce() ).debug( messageCaptor.capture(), any( Object[].class ) );

Optional<String> logMessageWithConnectionId = messageCaptor.getAllValues()
.stream()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ void shouldNotDelegateDebugLogWhenDebugDisabled()
PrefixedLogger logger = new PrefixedLogger( delegate );
logger.debug( MESSAGE );

verify( delegate, never() ).debug( anyString(), any() );
verify( delegate, never() ).debug( anyString(), any( Object[].class ) );
}

@Test
Expand Down

0 comments on commit 0a95a0d

Please sign in to comment.