예제 #1
0
        public AsyncQueue(AsyncQueueWrapperConfiguration config, ILoggingEventWriter logger)
            : base(1, config.MaxQueueSize, "AsyncQueue for logger", true)
        {
            Contract.Requires(config != null);
            Contract.Requires(logger != null);

            _logger = logger;

            // конфиги для обработки переполнения очереди
            _isOverflowed    = IS_NOT_OVERFLOWED;
            _borderOverflow  = Convert.ToInt32(config.MaxQueueSize * 0.5);
            _isDiscardExcess = config.IsDiscardExcess;

            Start();
        }
예제 #2
0
 public AsyncQueue(AsyncQueueWrapperConfiguration config)
     : this(config, LoggerFactory.CreateWriter(config.InnerWriter))
 {
 }