add a wagon transfert listener for debugging purpose

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1177571 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Olivier Lamy 2011-09-30 09:41:47 +00:00
parent 3734ce78c8
commit 3e6842504a
4 changed files with 93 additions and 2 deletions

View File

@ -0,0 +1,73 @@
package org.apache.archiva.proxy.common;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
import org.apache.maven.wagon.events.TransferEvent;
import org.apache.maven.wagon.events.TransferListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Arrays;
/**
* @author Olivier Lamy
* @since 1.4
*/
public class DebugTransferListener
implements TransferListener
{
private Logger log = LoggerFactory.getLogger( getClass() );
public void transferInitiated( TransferEvent transferEvent )
{
log.debug( "transferInitiated for resource {} on repository url {}", transferEvent.getResource().getName(),
transferEvent.getWagon().getRepository().getUrl() );
}
public void transferStarted( TransferEvent transferEvent )
{
log.debug( "transferStarted for resource {} on repository url {}", transferEvent.getResource().getName(),
transferEvent.getWagon().getRepository().getUrl() );
}
public void transferProgress( TransferEvent transferEvent, byte[] bytes, int i )
{
log.debug( "transferProgress for resource {} on repository url {}", transferEvent.getResource().getName(),
transferEvent.getWagon().getRepository().getUrl() );
}
public void transferCompleted( TransferEvent transferEvent )
{
log.debug( "transferCompleted for resource {} on repository url {}", transferEvent.getResource().getName(),
transferEvent.getWagon().getRepository().getUrl() );
}
public void transferError( TransferEvent transferEvent )
{
log.debug( "transferError for resource {} on repository url {}",
Arrays.asList( transferEvent.getResource().getName(),
transferEvent.getWagon().getRepository().getUrl() ).toArray( new String[2] ),
transferEvent.getException() );
}
public void debug( String s )
{
log.debug( "wagon debug {}", s );
}
}

View File

@ -38,6 +38,8 @@ public class DefaultWagonFactory
private PlexusSisuBridge plexusSisuBridge;
private DebugTransferListener debugTransferListener = new DebugTransferListener();
@Inject
public DefaultWagonFactory( PlexusSisuBridge plexusSisuBridge )
{
@ -52,7 +54,9 @@ public class DefaultWagonFactory
// with sisu inject bridge hint is file or http
// so remove wagon#
protocol = StringUtils.remove( protocol, "wagon#" );
return plexusSisuBridge.lookup( Wagon.class, protocol );
Wagon wagon = plexusSisuBridge.lookup( Wagon.class, protocol );
wagon.addTransferListener( debugTransferListener );
return wagon;
}
catch ( PlexusSisuBridgeException e )
{

View File

@ -30,7 +30,7 @@
<properties>
<jettyVersion>7.4.5.v20110725</jettyVersion>
<archiva.base.admUrl></archiva.baseRestUrl>
<archiva.baseRestUrl></archiva.baseRestUrl>
<rest.admin.pwd></rest.admin.pwd>
</properties>

View File

@ -39,6 +39,20 @@
<logger name="JPOX">
<level value="error"/>
</logger>
<!-- debug wagon transfer -->
<logger name="org.apache.archiva.proxy.common">
<level value="debug"/>
</logger>
<!-- apache httpclient debug content transfer-->
<!--
<logger name="org.apache.http.wire">
<level value="debug"/>
</logger>
-->
<logger name="org.apache.http.wire.header">
<level value="debug"/>
</logger>
<logger name="org.apache.commons.configuration.DefaultConfigurationBuilder">
<level value="error"/>