1 package org.apache.archiva.audit;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.archiva.metadata.model.facets.AuditEvent;
23 import org.apache.archiva.repository.events.AuditListener;
24 import org.slf4j.Logger;
25 import org.slf4j.LoggerFactory;
26 import org.springframework.stereotype.Service;
27
28
29
30
31
32
33
34 @Service("auditListener#logging")
35 public class AuditLog
36 implements AuditListener
37 {
38 public static final Logger logger = LoggerFactory.getLogger( "org.apache.archiva.AuditLog" );
39
40 private static final String NONE = "-";
41
42 private static final char DELIM = ' ';
43
44
45
46
47
48 @Override
49 public void auditEvent( AuditEvent event )
50 {
51 StringBuilder msg = new StringBuilder();
52 msg.append( checkNull( event.getRepositoryId() ) ).append( DELIM );
53 msg.append( event.getUserId() ).append( DELIM );
54 msg.append( checkNull( event.getRemoteIP() ) ).append( DELIM );
55 msg.append( '\"' ).append( checkNull( event.getResource() ) ).append( '\"' ).append( DELIM );
56 msg.append( '\"' ).append( event.getAction() ).append( '\"' );
57
58 logger.info( msg.toString() );
59 }
60
61 private String checkNull( String s )
62 {
63 return s != null ? s : NONE;
64 }
65 }