You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@archiva.apache.org by Brett Porter <br...@apache.org> on 2008/07/02 10:28:04 UTC

Re: svn commit: r673280 - in /archiva/trunk/archiva-modules: archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/audit/ archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ archiva-web/archiva-we...

Sorry, I don't understand the logging config changes - what is in the  
root context that you don't want to send to the rolling log?

Thanks,
Brett

On 02/07/2008, at 3:01 PM, oching@apache.org wrote:

> Author: oching
> Date: Tue Jul  1 22:01:08 2008
> New Revision: 673280
>
> URL: http://svn.apache.org/viewvc?rev=673280&view=rev
> Log:
> [MRM-810]
> -implemented the Auditable for UploadAction
> -cleaned up the logging config
>
> Modified:
>    archiva/trunk/archiva-modules/archiva-base/archiva-repository- 
> layer/src/main/java/org/apache/maven/archiva/repository/audit/ 
> AuditEvent.java
>    archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/ 
> java/org/apache/maven/archiva/web/action/UploadAction.java
>    archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/ 
> resources/log4j.xml
>
> Modified: archiva/trunk/archiva-modules/archiva-base/archiva- 
> repository-layer/src/main/java/org/apache/maven/archiva/repository/ 
> audit/AuditEvent.java
> URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/audit/AuditEvent.java?rev=673280&r1=673279&r2=673280&view=diff
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- archiva/trunk/archiva-modules/archiva-base/archiva-repository- 
> layer/src/main/java/org/apache/maven/archiva/repository/audit/ 
> AuditEvent.java (original)
> +++ archiva/trunk/archiva-modules/archiva-base/archiva-repository- 
> layer/src/main/java/org/apache/maven/archiva/repository/audit/ 
> AuditEvent.java Tue Jul  1 22:01:08 2008
> @@ -37,6 +37,8 @@
>
>     public static final String MODIFY_FILE = "Modify File";
>
> +    public static final String UPLOAD_FILE = "Uploaded File";
> +
>     private String repositoryId;
>
>     private String userId;
>
> Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/ 
> src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
> URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java?rev=673280&r1=673279&r2=673280&view=diff
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/ 
> main/java/org/apache/maven/archiva/web/action/UploadAction.java  
> (original)
> +++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/ 
> main/java/org/apache/maven/archiva/web/action/UploadAction.java Tue  
> Jul  1 22:01:08 2008
> @@ -42,6 +42,9 @@
> import org.apache.maven.archiva.repository.RepositoryException;
> import  
> org.apache.maven.archiva.repository.RepositoryNotFoundException;
> import  
> org 
> .apache.maven.archiva.repository.scanner.RepositoryContentConsumers;
> +import org.apache.maven.archiva.repository.audit.AuditEvent;
> +import org.apache.maven.archiva.repository.audit.AuditListener;
> +import org.apache.maven.archiva.repository.audit.Auditable;
> import org.apache.maven.archiva.repository.metadata.MetadataTools;
> import  
> org 
> .apache.maven.archiva.repository.metadata.RepositoryMetadataException;
> import  
> org.apache.maven.archiva.repository.metadata.RepositoryMetadataReader;
> @@ -55,6 +58,7 @@
> import org.apache.maven.archiva.security.ArchivaXworkUser;
> import org.codehaus.plexus.xwork.action.PlexusActionSupport;
>
> +import com.opensymphony.webwork.ServletActionContext;
> import com.opensymphony.xwork.ActionContext;
> import com.opensymphony.xwork.Preparable;
> import com.opensymphony.xwork.Validateable;
> @@ -69,7 +73,7 @@
>  */
> public class UploadAction
>     extends PlexusActionSupport
> -    implements Validateable, Preparable
> +    implements Validateable, Preparable, Auditable
> {
>     /**
>       * @plexus.requirement
> @@ -161,6 +165,11 @@
>      */
>     private RepositoryContentFactory repositoryFactory;
>
> +    /**
> +     * @plexus.requirement  
> role="org.apache.maven.archiva.repository.audit.AuditListener"
> +     */
> +    private List<AuditListener> auditListeners = new  
> ArrayList<AuditListener>();
> +
>     private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[]  
> { ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 };
>
>     private ProjectModelWriter pomWriter = new  
> ProjectModel400Writer();
> @@ -383,9 +392,8 @@
>
>             String msg = "Artifact \'" + groupId + ":" + artifactId  
> + ":" + version +
>                 "\' was successfully deployed to repository \'" +  
> repositoryId + "\'";
> -
> -            //TODO: MRM-810 (this writes to archiva.log, should be  
> audit.log)
> -            getLogger().info( msg + " by " + getPrincipal() );
> +
> +            triggerAuditEvent( getPrincipal(), repositoryId,  
> groupId + ":" + artifactId + ":" + version, AuditEvent.UPLOAD_FILE );
>
>             addActionMessage( msg );
>
> @@ -536,4 +544,30 @@
>             addActionError( ae.getMessage() );
>         }
>     }
> +
> +    public void addAuditListener( AuditListener listener )
> +    {
> +        this.auditListeners.add( listener );
> +    }
> +
> +    public void clearAuditListeners()
> +    {
> +        this.auditListeners.clear();
> +    }
> +
> +    public void removeAuditListener( AuditListener listener )
> +    {
> +        this.auditListeners.remove( listener );
> +    }
> +
> +    private void triggerAuditEvent( String user, String  
> repositoryId, String resource, String action )
> +    {
> +        AuditEvent event = new AuditEvent( repositoryId, user,  
> resource, action );
> +         
> event 
> .setRemoteIP( ServletActionContext.getRequest().getRemoteAddr() );
> +
> +        for ( AuditListener listener : auditListeners )
> +        {
> +            listener.auditEvent( event );
> +        }
> +    }
> }
>
> 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=673280&r1=673279&r2=673280&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 Tue Jul  1 22:01:08 2008
> @@ -22,16 +22,14 @@
>   </appender>
>
>   <!-- Help identify bugs during testing -->
> -  <logger name="org.apache.maven">
> -    <level value="info"/>
> -  </logger>
> -
>   <logger name="org.apache.maven.archiva">
> -    <level value="info" />
> +    <level value="info"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="org.apache.maven.archiva.repository.scanner">
>     <level value="info" />
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="org.apache.archiva.AuditLog">
> @@ -41,72 +39,87 @@
>
>   <logger name="org.codehaus.plexus.security">
>     <level value="info"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <!-- squelch noisy objects (for now) -->
>   <logger name="org.apache.commons">
>     <level value="warn"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="net.sf.ehcache">
>     <level value="warn"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="org.codehaus.plexus.mailsender.MailSender">
>     <level value="info"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="org.codehaus.plexus.velocity">
>     <level value="error"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="org.quartz">
>     <level value="info"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="org.apache.jasper">
>     <level value="info"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="com.opensymphony.xwork">
>     <level value="info"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="com.opensymphony.webwork">
>     <level value="info"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="org.codehaus.plexus.PlexusContainer">
>     <level value="info"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="JPOX">
>     <level value="warn"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="JPOX.MetaData">
>     <level value="error"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="JPOX.RDBMS.SQL">
>     <level value="error"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="SQL">
>     <level value="error"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger name="freemarker">
>     <level value="warn"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <logger  
> name 
> = 
> "org 
> .codehaus.plexus.component.manager.ClassicSingletonComponentManager">
>     <level value="error"/>
> +    <appender-ref ref="rolling" />
>   </logger>
>
>   <root>
>     <priority value ="info" />
> -    <appender-ref ref="rolling" />
>   </root>
>
> -</log4j:configuration>
> +</log4j:configuration>
> \ No newline at end of file
>
>

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/