Example #1
0
        /// <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"));
     }
 }
Example #4
0
 /// <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();
 }