1. Official Alfresco Documentation (ACS 5.2): Auditing Concepts. This document explicitly describes the two main approaches.
For @Auditable (Option A): "The @Auditable annotation can be used to audit method calls declaratively. This is the simplest way to audit a method call and requires no code other than the annotation itself."
For AuditService (Option E): "For more complex auditing, the AuditService can be used directly. This allows for more control over the data that is audited and also allows for auditing to be conditional."
Source: Alfresco Content Services 5.2 Documentation, "Auditing concepts". (docs.alfresco.com/5.2/concepts/audit-concepts.html)
2. Official Alfresco Documentation (ACS 5.2): AuditService JavaDoc. The JavaDoc for the AuditService interface confirms it is the public API for auditing functions, including recordAuditValues.
Source: Alfresco Content Services 5.2 JavaDoc, org.alfresco.service.cmr.audit.AuditService.
3. Official Alfresco Documentation (ACS 5.2): Audit REST API. The API reference for auditing shows only GET and DELETE endpoints for retrieving and managing audit entries, confirming the absence of a POST endpoint for creation.
Source: Alfresco Content Services 5.2 Documentation, "Audit REST API". (docs.alfresco.com/5.2/references/RESTful-Audit.html)