Author: chetanm
Date: Fri Feb 13 12:07:57 2015
New Revision: 1659527
URL: http://svn.apache.org/r1659527
Log:
OAK-2516 - Add user information in audit events in oak
Introduced a new logger category 'org.apache.jackrabbit.oak.audit'. Currently
logs all paths which got changed along with userId
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java?rev=1659527&r1=1659526&r2=1659527&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java
Fri Feb 13 12:07:57 2015
@@ -70,6 +70,7 @@ import org.slf4j.MarkerFactory;
*/
public class SessionDelegate {
static final Logger log = LoggerFactory.getLogger(SessionDelegate.class);
+ static final Logger auditLogger =
LoggerFactory.getLogger("org.apache.jackrabbit.oak.audit");
static final Logger readOperationLogger =
LoggerFactory.getLogger("org.apache.jackrabbit.oak.jcr.operations.reads");
static final Logger writeOperationLogger =
LoggerFactory.getLogger("org.apache.jackrabbit.oak.jcr.operations.writes");
@@ -589,10 +590,16 @@ public class SessionDelegate {
private static <T> void logOperationDetails(ContentSession session,
SessionOperation<T> ops) {
if (readOperationLogger.isTraceEnabled()
- || writeOperationLogger.isTraceEnabled()) {
+ || writeOperationLogger.isTraceEnabled()
+ || auditLogger.isDebugEnabled()) {
Marker sessionMarker = MarkerFactory.getMarker(session.toString());
Logger log = ops.isUpdate() ? writeOperationLogger :
readOperationLogger;
log.trace(sessionMarker, "[{}] {}", session, ops);
+
+ //For a logout operation the auth info is not accessible
+ if (!ops.isLogout() && ops.isUpdate()) {
+ auditLogger.debug(sessionMarker, "[{}] [{}] {}",
session.getAuthInfo().getUserID(), session, ops);
+ }
}
}