org.cesecore.audit.AuditLogger Maven / Gradle / Ivy
/*************************************************************************
* *
* CESeCore: CE Security Core *
* *
* This software is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or any later version. *
* *
* See terms of license at gnu.org. *
* *
*************************************************************************/
package org.cesecore.audit;
import java.util.Map;
import java.util.Properties;
import org.cesecore.audit.enums.EventStatus;
import org.cesecore.audit.enums.EventType;
import org.cesecore.audit.enums.ModuleType;
import org.cesecore.audit.enums.ServiceType;
import org.cesecore.audit.log.AuditRecordStorageException;
import org.cesecore.time.TrustedTime;
/**
* Interface for writing secure audit events.
*
* @version $Id: AuditLogger.java 17625 2013-09-20 07:12:06Z netmackan $
*/
public interface AuditLogger {
/**
* Creates a signed log, stored in the database.
*
* @param trustedTime TrustedTime instance will be used to get a trusted timestamp.
* @param eventType The event log type.
* @param eventStatus The status of the operation to log.
* @param module The module where the operation took place.
* @param service The service(application) that performed the operation.
* @param authToken The authentication token that invoked the operation.
* @param additionalDetails Additional details to be logged.
* @param properties properties to be passed on the device
*
* @throws AuditRecordStorageException if unable to store the log record
*/
void log(TrustedTime trustedTime, EventType eventType, EventStatus eventStatus, ModuleType module, ServiceType service, String authToken,
String customId, String searchDetail1, String searchDetail2, Map additionalDetails, Properties properties) throws AuditRecordStorageException;
}