Esempio n. 1
0
        public DbSink(int batchPostingLimit, TimeSpan period, DbOptions opt, ITableCreator tableCreator)
            : base(batchPostingLimit, period)
        {
            _db = new DbSinkCore(opt, tableCreator);

            _db.DbOpt.Check();

            _db.ColumnOptions.FinalizeConfigurationForSinkConstructor();
        }
Esempio n. 2
0
        public DbSink(int batchPostingLimit, TimeSpan period, IDbSinkCore dbSinkCore)
            : base(batchPostingLimit, period)
        {
            _db = dbSinkCore;

            _db.DbOpt.Check();

            _db.ColumnOptions.FinalizeConfigurationForSinkConstructor();
        }
Esempio n. 3
0
        public DbAuditSink(DbOptions opt, ITableCreator tableCreator)
        {
            opt.Check();
            var columnOptions = opt.ColumnOptions;

            if (columnOptions != null)
            {
                if (columnOptions.DisableTriggers)
                {
                    throw new NotSupportedException($"The {nameof(ColumnOptions.DisableTriggers)} option is not supported for auditing.");
                }

                columnOptions.FinalizeConfigurationForSinkConstructor();
            }
            _db = new DbSinkCore(opt, tableCreator);
        }
Esempio n. 4
0
        public DbAuditSink(IDbSinkCore dbSinkCore)
        {
            if (dbSinkCore == null)
            {
                throw new ArgumentNullException(nameof(dbSinkCore));
            }
            var opt = dbSinkCore.DbOpt;

            opt.Check();
            var columnOptions = opt.ColumnOptions;

            if (columnOptions != null)
            {
                if (columnOptions.DisableTriggers)
                {
                    throw new NotSupportedException($"The {nameof(ColumnOptions.DisableTriggers)} option is not supported for auditing.");
                }

                columnOptions.FinalizeConfigurationForSinkConstructor();
            }
            //_db = dbSinkCore ?? new DbSinkCore(opt, tableCreator);
        }
 /// <summary>
 /// Constructor. A reference to the parent Traits object is used so that JSON
 /// can serialize Standard Column values exactly the way they would be written
 /// to discrete SQL columns.
 /// </summary>
 public JsonLogEventFormatter(IDbSinkCore parent)
 {
     traits = parent;
 }
Esempio n. 6
0
        public static LoggerConfiguration Db(this LoggerAuditSinkConfiguration loggerAuditSinkConfiguration, IDbSinkCore dbSinkCore, LogEventLevel restrictedToMinimumLevel = LevelAlias.Minimum)
        {
            if (loggerAuditSinkConfiguration == null)
            {
                throw new ArgumentNullException("loggerAuditSinkConfiguration");
            }

            return(loggerAuditSinkConfiguration.Sink(new DbAuditSink(dbSinkCore), restrictedToMinimumLevel));
        }
Esempio n. 7
0
        public static LoggerConfiguration Db(this LoggerSinkConfiguration loggerConfiguration, IDbSinkCore dbSinkCore, LogEventLevel restrictedToMinimumLevel = LevelAlias.Minimum, int batchPostingLimit = DbSink.DefaultBatchPostingLimit, TimeSpan?period = null)
        {
            if (loggerConfiguration == null)
            {
                throw new ArgumentNullException("loggerConfiguration");
            }

            var defaultedPeriod = period ?? DbSink.DefaultPeriod;

            return(loggerConfiguration.Sink(new DbSink(batchPostingLimit, defaultedPeriod, dbSinkCore), restrictedToMinimumLevel));
        }