/*
* Copyright (c) 2002-2017 "Neo Technology,"
* Network Engine for Objects in Lund AB [http://neotechnology.com]
*
* This file is part of Neo4j.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.neo4j.driver.internal.net;
import java.util.Arrays;
import java.util.Map;
import org.neo4j.driver.v1.Logger;
import org.neo4j.driver.v1.Value;
import static org.neo4j.driver.internal.messaging.AckFailureMessage.ACK_FAILURE;
import static org.neo4j.driver.internal.messaging.DiscardAllMessage.DISCARD_ALL;
import static org.neo4j.driver.internal.messaging.IgnoredMessage.IGNORED;
import static org.neo4j.driver.internal.messaging.PullAllMessage.PULL_ALL;
import static org.neo4j.driver.internal.messaging.ResetMessage.RESET;
public class LoggingResponseHandler extends SocketResponseHandler
{
private static final String DEFAULT_DEBUG_LOGGING_FORMAT = "S: %s";
private final Logger logger;
public LoggingResponseHandler( Logger logger )
{
this.logger = logger;
}
@Override
public void handleInitMessage( String userAgent, Map<String,Value> authToken )
{
logger.debug( "S: INIT \"%s\" {...}", userAgent );
super.handleInitMessage( userAgent, authToken );
}
@Override
public void handleRunMessage( String statement, Map<String,Value> parameters )
{
logger.debug( "S: RUN \"%s\" %s", statement, parameters );
super.handleRunMessage( statement, parameters );
}
@Override
public void handlePullAllMessage()
{
logger.debug( DEFAULT_DEBUG_LOGGING_FORMAT, PULL_ALL );
super.handlePullAllMessage();
}
@Override
public void handleDiscardAllMessage()
{
logger.debug( DEFAULT_DEBUG_LOGGING_FORMAT, DISCARD_ALL );
super.handleDiscardAllMessage();
}
@Override
public void handleResetMessage()
{
logger.debug( DEFAULT_DEBUG_LOGGING_FORMAT, RESET );
super.handleResetMessage();
}
@Override
public void handleAckFailureMessage()
{
logger.debug( DEFAULT_DEBUG_LOGGING_FORMAT, ACK_FAILURE );
super.handleAckFailureMessage();
}
@Override
public void handleSuccessMessage( Map<String,Value> meta )
{
logger.debug( "S: SUCCESS %s", meta );
super.handleSuccessMessage( meta );
}
@Override
public void handleRecordMessage( Value[] fields )
{
logger.debug( "S: RECORD %s", Arrays.asList( fields ) );
super.handleRecordMessage( fields );
}
@Override
public void handleFailureMessage( String code, String message )
{
logger.debug("S: FAILURE %s \"%s\"", code, message );
super.handleFailureMessage( code, message );
}
@Override
public void handleIgnoredMessage()
{
logger.debug( DEFAULT_DEBUG_LOGGING_FORMAT, IGNORED );
super.handleIgnoredMessage();
}
}