Package org.nuxeo.audit.mongodb
Class MongoDBAuditBackend
java.lang.Object
org.nuxeo.ecm.platform.audit.service.AbstractAuditBackend<LogEntry>
org.nuxeo.audit.service.AbstractAuditBackend
org.nuxeo.audit.mongodb.MongoDBAuditBackend
- All Implemented Interfaces:
AuditBackend
,AuditAdmin
,AuditLogger<LogEntry>
,AuditReader<LogEntry>
,AuditStorage
,Logs<LogEntry>
,AuditBackend<LogEntry>
Implementation of the
AuditBackend
interface using MongoDB persistence.- Since:
- 9.1
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.nuxeo.audit.service.AuditBackend
AuditBackend.Capability
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.mongodb.client.MongoCollection
<org.bson.Document> protected final CursorService
<com.mongodb.client.MongoCursor<org.bson.Document>, org.bson.Document, String> static final String
Fields inherited from class org.nuxeo.ecm.platform.audit.service.AbstractAuditBackend
component, config, expressionEvaluator, FORCE_AUDIT_FACET
-
Constructor Summary
ConstructorsConstructorDescriptionMongoDBAuditBackend
(com.mongodb.client.MongoCollection<org.bson.Document> collection) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addLogEntries
(List<LogEntry> entries) Adds given log entries.void
org.bson.conversions.Bson
buildFilter
(String query, Map<String, Object> params) protected void
INTERNAL METHOD FOR TESTS, DO NOT USE.expandQueryVariables
(String query, Object[] params) expandQueryVariables
(String query, Map<String, Object> params) com.mongodb.client.MongoCollection
<org.bson.Document> getEventsCount
(String eventId) getLogEntryByID
(long id) Returns a given log entry given its id.boolean
hasCapability
(AuditBackend.Capability capability) Checks whether the backend has the capability.protected static void
initUIDSequencer
(com.mongodb.client.MongoCollection<org.bson.Document> collection) Ensures the audit sequence returns an UID greater or equal than the maximum log entry id.List
<?> nativeQuery
(String query, Map<String, Object> params, int pageNb, int pageSize) Returns a batched list of entries.queryLogs
(QueryBuilder query) Returns the logs given a collection of predicates and a default sort.scroll
(QueryBuilder query, int batchSize, int keepAliveSeconds) Methods inherited from class org.nuxeo.audit.service.AbstractAuditBackend
doCreateAndFillEntryFromDocument, getApplicationStartedOrder, newExtendedInfo, onApplicationStarted, onApplicationStopped, syncLogCreationEntries
Methods inherited from class org.nuxeo.ecm.platform.audit.service.AbstractAuditBackend
await, buildEntryFromEvent, doPutExtendedInfos, doSyncNode, getAuditableEventNames, guardedDocument, guardedDocumentChildren, isAuditable, newLogEntry, populateExtendedInfo, restore, syncLogCreationEntries
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.nuxeo.audit.service.AuditBackend
getLatestLogId, getLogEntriesFor
Methods inherited from interface org.nuxeo.ecm.platform.audit.service.AuditBackend
restore
Methods inherited from interface org.nuxeo.ecm.platform.audit.api.AuditLogger
await, buildEntryFromEvent, getAuditableEventNames, newLogEntry
Methods inherited from interface org.nuxeo.ecm.platform.audit.api.AuditReader
getLogEntriesAfter, nativeQuery, nativeQueryLogs, queryLogs, queryLogsByPage, queryLogsByPage, queryLogsByPage, queryLogsByPage
-
Field Details
-
SEQ_NAME
- See Also:
-
collection
protected final com.mongodb.client.MongoCollection<org.bson.Document> collection -
cursorService
protected final CursorService<com.mongodb.client.MongoCursor<org.bson.Document>,org.bson.Document, cursorServiceString>
-
-
Constructor Details
-
MongoDBAuditBackend
public MongoDBAuditBackend(com.mongodb.client.MongoCollection<org.bson.Document> collection) - Since:
- 2025.0
-
-
Method Details
-
getAuditCollection
public com.mongodb.client.MongoCollection<org.bson.Document> getAuditCollection()- Returns:
- the
MongoCollection
configured with audit settings.
-
initUIDSequencer
protected static void initUIDSequencer(com.mongodb.client.MongoCollection<org.bson.Document> collection) Ensures the audit sequence returns an UID greater or equal than the maximum log entry id. -
queryLogs
Description copied from interface:AuditBackend
Returns the logs given a collection of predicates and a default sort.- Parameters:
query
- the query builder to fetch log entries- Returns:
- a list of log entries
-
getLogEntryByID
Description copied from interface:AuditBackend
Returns a given log entry given its id.- Parameters:
id
- the log entry identifier- Returns:
- a LogEntry instance
-
nativeQuery
Description copied from interface:AuditReader
Returns a batched list of entries.- Parameters:
query
- a JPA query language query if implementation of audit backend is JPA (< 7.3 or audit.elasticsearch.enabled=false) and JSON if implementation is Elasticsearchparams
- parameters for the querypageNb
- the page number (starts at 1)pageSize
- the number of results per page
-
buildFilter
-
expandQueryVariables
-
expandQueryVariables
-
addLogEntries
Description copied from interface:AuditBackend
Adds given log entries.- Parameters:
entries
- the list of log entries.
-
getEventsCount
-
append
- Specified by:
append
in interfaceAuditStorage
- Overrides:
append
in classAbstractAuditBackend
-
scroll
- Specified by:
scroll
in interfaceAuditStorage
- Overrides:
scroll
in classAbstractAuditBackend
-
scroll
- Specified by:
scroll
in interfaceAuditStorage
- Overrides:
scroll
in classAbstractAuditBackend
-
clearEntries
protected void clearEntries()Description copied from class:AbstractAuditBackend
INTERNAL METHOD FOR TESTS, DO NOT USE.- Overrides:
clearEntries
in classAbstractAuditBackend
-
hasCapability
Description copied from interface:AuditBackend
Checks whether the backend has the capability.
-