/// <summary> /// Initializes the <see cref="AuditLogInstance" /> class. /// </summary> static AuditLogInstance() { IList <IAuditLogWriter> auditLogWriters = new List <IAuditLogWriter>(); try { AuditLogConfiguration auditLogConfiguration = ConfigurationSettings.GetAuditLogConfigurationSection(); if (auditLogConfiguration?.EventLogSettings != null && auditLogConfiguration.EventLogSettings.IsEnabled) { auditLogWriters.Add(new AuditLogEventLogWriter(EventLog.Application)); } if (auditLogConfiguration?.EntityModelSettings != null && auditLogConfiguration.EntityModelSettings.IsEnabled) { auditLogWriters.Add(new AuditLogEntityModelWriter(new AuditLogEntityModelDeleter())); } if (auditLogConfiguration?.SyslogSettings != null && auditLogConfiguration.SyslogSettings.IsEnabled && !string.IsNullOrEmpty(auditLogConfiguration.SyslogSettings.HostName) && auditLogConfiguration.SyslogSettings.Port > 0) { IStreamProvider tcpStreamProvider = new TcpStreamProvider(auditLogConfiguration.SyslogSettings.HostName, auditLogConfiguration.SyslogSettings.Port, true, auditLogConfiguration.SyslogSettings.IsSecure, auditLogConfiguration.SyslogSettings.IgnoreSslErrors); ISyslogMessageSerializer syslogMsgSerializer = new SyslogMessageSerializer(); ISyslogMessageWriter streamWriter = new SyslogStreamWriter(tcpStreamProvider, syslogMsgSerializer); ISyslogMessageWriter queueingMessageWriter = new SyslogQueueingMessageWriter(streamWriter); auditLogWriters.Add(new AuditLogSyslogWriter(queueingMessageWriter)); } } catch (Exception ex) { EventLog.Application.WriteError("AuditLogInstance failed to initialize. Error: {0}.", ex.ToString()); } AuditLogInstanceInternal = new AuditLog(auditLogWriters); }
public AuditDatabaseLogger(AuditLogConfiguration configuration, CertificateManager certificateManager) { _configuration = configuration; _certificateManager = certificateManager; // Check and update the database now var dbSetup = new Setup(_configuration.ConnectionString); dbSetup.CheckAndUpgradeDatabase(); }
/// <summary> /// Overridden method for adding entity and additional configurations while creating the model database. /// </summary> /// <param name="modelBuilder">Db model builder</param> protected override void OnModelCreating(ModelBuilder modelBuilder) { if (modelBuilder != null) { base.OnModelCreating(modelBuilder); _ = modelBuilder.Entity <ProductCategoryRelation>().HasIndex(k => new { k.ProductId, k.ProductCategoryId }).HasDatabaseName("IX_ProdCat_ProdId_ProdCatId"); _ = new AuditLogConfiguration(modelBuilder.Entity <AuditLog>().ToTable("AuditLog")); _ = new ProductConfiguration(modelBuilder.Entity <Product>().ToTable("Product")); _ = new ProductCategoryConfiguration(modelBuilder.Entity <ProductCategory>().ToTable("ProductCategory")); _ = new ProductCategoryRelationConfiguration(modelBuilder.Entity <ProductCategoryRelation>().ToTable("ProductCategoryRelation")); } }
/// <summary> /// Set up the certificate manager. /// </summary> /// <param name="configuration"><see cref="AuditLogConfiguration"/> with certificate location details.</param> public CertificateManager(AuditLogConfiguration configuration) { _configuration = configuration; }
/// <summary> /// Static constructor that loads the configuration for the Audit Logging /// framework. /// </summary> static AuditLogManager() { _configuration = new AuditLogConfiguration(); }