예제 #1
0
 public AuditEventLogger(IEnumerable <IAuditEventLoggerSink> sinks, IAuditSubject auditSubject, IAuditAction auditAction, AuditLoggerOptions auditLoggerOptions)
 {
     Sinks               = sinks;
     AuditSubject        = auditSubject;
     AuditAction         = auditAction;
     _auditLoggerOptions = auditLoggerOptions;
 }
예제 #2
0
        /// <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);
            }
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
 /// <summary>
 /// Prepare default configuration
 /// </summary>
 /// <param name="auditEvent"></param>
 /// <param name="loggerOptions"></param>
 private void PrepareDefaultConfiguration(AuditEvent auditEvent, AuditLoggerOptions loggerOptions)
 {
     auditEvent.Source = loggerOptions.Source;
 }