Author: oching
Date: Wed Jul 29 09:55:18 2009
New Revision: 798827

URL: http://svn.apache.org/viewvc?rev=798827&view=rev
Log:
[MRM-1163] Add some decent logs in webdav for debugging purposes
Submitted by: Jevica Arianne Zurbano
o added debug logs in ArchivaDavResource and ArchivaDavResourceFactory with the 
filename, directory, repository, and/or current user included in logs

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/resources/log4j.xml
    
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/resources/log4j.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/resources/log4j.xml?rev=798827&r1=798826&r2=798827&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/resources/log4j.xml
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/resources/log4j.xml
 Wed Jul 29 09:55:18 2009
@@ -86,6 +86,15 @@
   </logger>
 -->
 
+  <!-- WebDav objects -->
+  <logger name="org.apache.maven.archiva.webdav.ArchivaDavResource">
+    <level value="info"/>
+  </logger>
+  
+  <logger name="org.apache.maven.archiva.webdav.ArchivaDavResourceFactory">
+    <level value="info"/>
+  </logger>
+
   <!-- squelch noisy objects (for now) -->
   <logger name="org.apache.commons">
     <level value="warn"/>

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java?rev=798827&r1=798826&r2=798827&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java
 Wed Jul 29 09:55:18 2009
@@ -313,12 +313,16 @@
             
             queueRepositoryTask( localFile );           
             
+            log.debug( "File '" + resource.getDisplayName() + ( exists ? "' 
modified " : "' created ") + "(current user '" + this.principal + "')" );
+            
             triggerAuditEvent( resource, exists ? AuditEvent.MODIFY_FILE : 
AuditEvent.CREATE_FILE );
         }
         else if ( !inputContext.hasStream() && isCollection() ) // New 
directory
         {
             localFile.mkdir();
             
+            log.debug( "Directory '" + resource.getDisplayName() + "' (current 
user '" + this.principal + "')" );
+            
             triggerAuditEvent( resource, AuditEvent.CREATE_DIR );
         }
         else
@@ -343,10 +347,12 @@
                         DavResourceLocator resourceLocator =
                             locator.getFactory().createResourceLocator( 
locator.getPrefix(), path );
                         DavResource resource = factory.createResource( 
resourceLocator, session );
+                        
                         if ( resource != null )
                         {
                             list.add( resource );
                         }
+                        log.debug( "Resource '" + item + "' retrieved by '" + 
this.principal + "'" );
                     }
                 }
                 catch ( DavException e )
@@ -382,6 +388,7 @@
 
                     triggerAuditEvent( member, AuditEvent.REMOVE_FILE );
                 }
+                log.debug( ( resource.isDirectory() ? "Directory '" : "File '" 
) + member.getDisplayName() + "' removed (current user '" + this.principal + 
"')" );
             }
             catch ( IOException e )
             {
@@ -425,6 +432,9 @@
 
                 triggerAuditEvent( remoteAddr, locator.getRepositoryId(), 
logicalResource, AuditEvent.MOVE_FILE );
             }
+            
+            log.debug( ( isCollection() ? "Directory '" : "File '" ) + 
getLocalResource().getName() + "' moved to '" +
+                          destination + "' (current user '" + this.principal + 
"')" );
         }
         catch ( IOException e )
         {
@@ -460,6 +470,8 @@
 
                 triggerAuditEvent( remoteAddr, locator.getRepositoryId(), 
logicalResource, AuditEvent.COPY_FILE );
             }
+            log.debug( ( isCollection() ? "Directory '" : "File '" ) + 
getLocalResource().getName() + "' copied to '" +
+                          destination + "' (current user '" + this.principal + 
"')" );
         }
         catch ( IOException e )
         {

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=798827&r1=798826&r2=798827&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
 Wed Jul 29 09:55:18 2009
@@ -190,6 +190,8 @@
                 throw new DavException( 
HttpServletResponse.SC_METHOD_NOT_ALLOWED,
                                         "Write method not allowed for 
repository groups." );
             }
+            
+            log.debug( "Repository group '" + repoGroupConfig.getId() + "' 
accessed by '" + activePrincipal + "'" );
 
             // handle browse requests for virtual repos
             if ( RepositoryPathUtil.getLogicalResource( 
archivaLocator.getOrigResourcePath() ).endsWith( "/" ) )
@@ -221,6 +223,8 @@
                 throw new DavException( 
HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
             }
 
+            log.debug( "Managed repository '" + managedRepository.getId() + "' 
accessed by '" + activePrincipal + "'" );
+
             resource = processRepository( request, archivaLocator, 
activePrincipal, managedRepository );
 
             String logicalResource = RepositoryPathUtil.getLogicalResource( 
locator.getResourcePath() );
@@ -421,7 +425,7 @@
                     if ( !resource.isCollection() )
                     {
                         boolean previouslyExisted = resourceFile.exists();
-
+                        
                         // Attempt to fetch the resource from any defined 
proxy.
                         boolean fromProxy = fetchContentFromProxies( 
managedRepository, request, logicalResource );
 
@@ -453,6 +457,10 @@
                             String event =
                                 ( previouslyExisted ? AuditEvent.MODIFY_FILE : 
AuditEvent.CREATE_FILE )
                                     + PROXIED_SUFFIX;
+                            
+                            log.debug( "Proxied artifact '" + 
resourceFile.getName() + "' in repository '" +
+                                       managedRepository.getId() + "' (current 
user '" + activePrincipal + "')" );
+
                             triggerAuditEvent( request.getRemoteAddr(), 
archivaLocator.getRepositoryId(),
                                                logicalResource.getPath(), 
event, activePrincipal );
                         }
@@ -481,6 +489,9 @@
                 {
                     destDir.mkdirs();
                     String relPath = PathUtil.getRelative( 
rootDirectory.getAbsolutePath(), destDir );
+                    
+                    log.debug( "Creating destination directory '" + 
destDir.getName() + "' (current user '" + activePrincipal + "')" );
+                    
                     triggerAuditEvent( request.getRemoteAddr(), 
logicalResource.getPath(), relPath,
                                        AuditEvent.CREATE_DIR, activePrincipal 
);
                 }
@@ -554,6 +565,8 @@
                 File proxiedFile = connectors.fetchFromProxies( 
managedRepository, artifact );
 
                 resource.setPath( managedRepository.toPath( artifact ) );
+                
+                log.debug( "Proxied artifact '" + artifact.getGroupId() + ":" 
+ artifact.getArtifactId() + ":" + artifact.getVersion() + "'" );
 
                 return ( proxiedFile != null );
             }
@@ -852,6 +865,7 @@
                             if ( isAuthorized( request, repository ) )
                             {
                                 mergedRepositoryContents.add( resourceFile );
+                                log.debug( "Repository '" + repository + "' 
accessed by '" + activePrincipal + "'" );
                             }
                         }
                         catch ( DavException e )
@@ -870,6 +884,7 @@
                                                            
WebdavMethodUtil.getMethodPermission( request.getMethod() ) ) )
                             {
                                 mergedRepositoryContents.add( resourceFile );
+                                log.debug( "Repository '" + repository + "' 
accessed by '" + activePrincipal + "'" );
                             }
                         }
                         catch ( UnauthorizedException e )


Reply via email to