public AuditEventLogger(IEnumerable <IAuditEventLoggerSink> sinks, IAuditSubject auditSubject, IAuditAction auditAction, AuditLoggerOptions auditLoggerOptions) { Sinks = sinks; AuditSubject = auditSubject; AuditAction = auditAction; _auditLoggerOptions = auditLoggerOptions; }
/// <summary> /// Prepare default values according to logger options /// </summary> /// <param name="auditEvent"></param> /// <param name="loggerOptions"></param> private void PrepareDefaultValues(AuditEvent auditEvent, AuditLoggerOptions loggerOptions) { if (loggerOptions.UseDefaultSubject) { PrepareDefaultSubject(auditEvent); } if (loggerOptions.UseDefaultAction) { PrepareDefaultAction(auditEvent); } }
/// <summary> /// Prepare default values for an event /// </summary> /// <param name="auditEvent"></param> /// <param name="loggerOptions"></param> /// <returns></returns> protected virtual Task PrepareEventAsync(AuditEvent auditEvent, Action <AuditLoggerOptions> loggerOptions) { if (loggerOptions == default) { PrepareDefaultValues(auditEvent, _auditLoggerOptions); } else { var auditLoggerOptions = new AuditLoggerOptions(); loggerOptions.Invoke(auditLoggerOptions); PrepareDefaultValues(auditEvent, auditLoggerOptions); } return(Task.CompletedTask); }
/// <summary> /// Prepare default configuration /// </summary> /// <param name="auditEvent"></param> /// <param name="loggerOptions"></param> private void PrepareDefaultConfiguration(AuditEvent auditEvent, AuditLoggerOptions loggerOptions) { auditEvent.Source = loggerOptions.Source; }