Overview

The Audit feature in DSpace offers a structured way to capture and review significant events across DSpace objects. It tracks changes to content, metadata, and other key operations, allowing administrators to:

Functionality

At its core, the auditing system logs events that modify the state of DSpace objects, including:

Each audit event captures detailed contextual information:

Audit events are managed through a dedicated service layer for storing and retrieving records. A system listener observes internal operations and identifies which events should be logged, ensuring only meaningful actions are recorded.

For external access, a REST API exposes audit data, allowing system administrators to inspect or filter logs based on specific criteria.

Configuration and Access

Auditing can be toggled through a configuration setting:

audit.enabled = true

When enabled, the feature begins capturing events automatically. Additional properties:

Note: Ensure the new audit core has been deployed to the SOLR service.

Administrators can view audit logs via the REST endpoint:

/api/system/auditevents

This endpoint supports filtering (e.g., by object UUID) and provides detailed information for each event. For example:

/api/system/auditevents/{id}

returns the full details of a specific event.

Solr Core management

Export example:

./dspace solr-core-management --mode export --core audit --directory /tmp/export --format csv --threads 4 --increment WEEK

Import example:

./dspace solr-core-management --mode import --core audit --directory /tmp/export --format csv --threads 2

Script parameters


./dspace solr-core-management 
    -m <mode:{export|import}> 
    -c <core:{audit|statistics|...}> 
    -d <directory> 
    [-f <format:{csv|json}>] 
    [-t <threads:integer>=1] 
    [-s <start-date:yyyy-MM-dd>] 
    [-e <end-date:yyyy-MM-dd>] 
    [-i <increment:{WEEK|MONTH|YEAR}>] 
    [-h]

Audit Logs

By default, when auditing is enabled, audit event logs are also written to configurable log files. This is managed through the log4j2.xml configuration file. The logging level for audit events can be set using the following property:

<Property name='loglevel.audit.events'>ALL</Property>

Administrators can adjust the logging behavior and destination by modifying the log4j2.xml file as needed.

Logging audit events to the audit.log file is not alternative to indexing data on SOLR. All the Audit events are stored on SOLR as well so data be easily accessible from the DSpace UI

Audit Logs Example

2025-10-07 11:29:51,709 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=MODIFY_METADATA subjectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 subjectType=ITEM objectUUID=null objectType=null metadataField=dc_description_provenance value=Submitted by aaa aaa (aaa) on 2025-10-07T09:29:41Z
No. of bitstreams: 1
Screenshot from 2025-10-06 10-42-15.png: 67019 bytes, checksum: 189a3d28d4945e5cc5a5478c7a8f748b (MD5) authority= confidence=-1 place=0 action=ADD checksum= datetime=1759829381380 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:29:51,712 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=MODIFY_METADATA subjectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 subjectType=ITEM objectUUID=null objectType=null metadataField=dc_identifier_uri value=http://localhost:4000/handle/123456789/22 authority= confidence=-1 place=0 action=ADD checksum= datetime=1759829381422 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:29:51,715 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=MODIFY_METADATA subjectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 subjectType=ITEM objectUUID=null objectType=null metadataField=dc_date_accessioned value=2025-10-07T09:29:41Z authority= confidence=-1 place=0 action=ADD checksum= datetime=1759829381431 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:29:51,717 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=MODIFY_METADATA subjectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 subjectType=ITEM objectUUID=null objectType=null metadataField=dc_date_issued value=2025 authority= confidence=-1 place=0 action=REMOVE checksum= datetime=1759829381431 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:29:51,720 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=MODIFY_METADATA subjectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 subjectType=ITEM objectUUID=null objectType=null metadataField=dc_date_issued value=2025 authority= confidence=-1 place=0 action=ADD checksum= datetime=1759829381431 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:29:51,723 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=MODIFY_METADATA subjectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 subjectType=ITEM objectUUID=null objectType=null metadataField=dc_description_provenance value=Made available in DSpace on 2025-10-07T09:29:41Z (GMT). No. of bitstreams: 1
Screenshot from 2025-10-06 10-42-15.png: 67019 bytes, checksum: 189a3d28d4945e5cc5a5478c7a8f748b (MD5)
  Previous issue date: 2025 authority= confidence=-1 place=1 action=ADD checksum= datetime=1759829381431 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:36:32,484 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=CREATE subjectUUID=4f3bbb96-53f6-4bbf-bc77-dc7dfddd9a82 subjectType=BITSTREAM objectUUID=null objectType=null metadataField= value= authority= confidence=null place=null action= checksum=38a6ff40a0cc4e9885f01a335039ea6f datetime=1759829792418 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:36:32,488 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=CREATE subjectUUID=4f3bbb96-53f6-4bbf-bc77-dc7dfddd9a82 subjectType=BITSTREAM objectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 objectType=ITEM metadataField= value= authority= confidence=null place=null action= checksum=38a6ff40a0cc4e9885f01a335039ea6f datetime=1759829792455 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:36:32,490 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=MODIFY_METADATA subjectUUID=4f3bbb96-53f6-4bbf-bc77-dc7dfddd9a82 subjectType=BITSTREAM objectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 objectType=ITEM metadataField=dc_title value=Screenshot from 2025-10-03 10-37-04.png authority= confidence=-1 place=0 action=ADD checksum= datetime=1759829792463 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:37:29,506 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=DELETE subjectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 subjectType=ITEM objectUUID=null objectType=null metadataField= value= authority= confidence=null place=null action= checksum= datetime=1759829849388 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:37:29,510 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=DELETE subjectUUID=bbca23c1-a8d9-492e-bdca-76e214f6ba36 subjectType=BUNDLE objectUUID=null objectType=null metadataField= value= authority= confidence=null place=null action= checksum= datetime=1759829849394 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:37:29,514 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=DELETE subjectUUID=6e80f8e4-84b5-4fe5-9b6d-dcfe7905262e subjectType=BITSTREAM objectUUID=null objectType=null metadataField= value= authority= confidence=null place=null action= checksum= datetime=1759829849406 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:37:29,518 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=DELETE subjectUUID=6e80f8e4-84b5-4fe5-9b6d-dcfe7905262e subjectType=BITSTREAM objectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 objectType=ITEM metadataField= value= authority= confidence=null place=null action= checksum=bb9bdc0b3349e4284e09149f943790b4 datetime=1759829849406 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:37:29,522 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=DELETE subjectUUID=41770bc0-d7b2-4e0f-ae6b-3b4b560f5d96 subjectType=BUNDLE objectUUID=null objectType=null metadataField= value= authority= confidence=null place=null action= checksum= datetime=1759829849417 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:37:29,526 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=DELETE subjectUUID=435d498d-e1ee-4957-becb-8bba70ba5d31 subjectType=BITSTREAM objectUUID=null objectType=null metadataField= value= authority= confidence=null place=null action= checksum= datetime=1759829849424 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:37:29,530 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=DELETE subjectUUID=435d498d-e1ee-4957-becb-8bba70ba5d31 subjectType=BITSTREAM objectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 objectType=ITEM metadataField= value= authority= confidence=null place=null action= checksum=189a3d28d4945e5cc5a5478c7a8f748b datetime=1759829849424 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:37:29,535 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=DELETE subjectUUID=4f3bbb96-53f6-4bbf-bc77-dc7dfddd9a82 subjectType=BITSTREAM objectUUID=null objectType=null metadataField= value= authority= confidence=null place=null action= checksum= datetime=1759829849437 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa
2025-10-07 11:37:29,538 INFO  org.dspace.app.audit.event @ AUDIT_EVENT eventType=DELETE subjectUUID=4f3bbb96-53f6-4bbf-bc77-dc7dfddd9a82 subjectType=BITSTREAM objectUUID=bf61d08c-8521-43bc-81c6-54dbe53821b9 objectType=ITEM metadataField= value= authority= confidence=null place=null action= checksum=38a6ff40a0cc4e9885f01a335039ea6f datetime=1759829849437 epersonUUID=d31b5858-75e2-4ffa-872d-b57bc21e1dfa



Community Audit Example

Item Audit Example