/* * Copyright (c) 2008-2011 EMC Corporation * All Rights Reserved */ package com.emc.storageos.volumecontroller.impl.block.taskcompleter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.emc.storageos.db.client.DbClient; import com.emc.storageos.security.audit.AuditLogManager; import com.emc.storageos.security.audit.AuditLogManagerFactory; import com.emc.storageos.services.OperationTypeEnum; import com.emc.storageos.volumecontroller.impl.ControllerUtils; public class AuditBlockUtil { // Logger reference. private static final Logger s_logger = LoggerFactory.getLogger(AuditBlockUtil.class); /** * Record audit log for block devices * * @param auditType Type of AuditLog * @param operationalStatus success or failure * @param operation stage * For sync operation, it should be null; * For async operation, it should be "BEGIN" or "END"; * @param descparams Description paramters */ public static void auditBlock(DbClient dbClient, OperationTypeEnum auditType, boolean operationalStatus, String operationStage, Object... descparams) { AuditLogManager auditMgr = AuditLogManagerFactory.getAuditLogManager(); auditMgr.recordAuditLog(null, null, ControllerUtils.BLOCK_EVENT_SERVICE, auditType, System.currentTimeMillis(), operationalStatus ? AuditLogManager.AUDITLOG_SUCCESS : AuditLogManager.AUDITLOG_FAILURE, operationStage, descparams); } }