public QueuedLogItemHandler(ILogItemHandler <TLogItem> nestedLogItemHandler, ITrigger trigger)
        {
            _nestedLogItemHandler = nestedLogItemHandler;
            _trigger = trigger;

            _logBuffer = new Queue <TLogItem>();

            _trigger.RegisterAction(HandleQueue);
        }
        public LogArchiver(
            string logDir,
            int daysToIgnore,
            IFileSystem fileSystem,
            ILogFileNameComposer logFileNameComposer,
            IDateTimeProvider dateTimeProvider,
            ITrigger trigger)
        {
            _logDir              = logDir;
            _daysToIgnore        = daysToIgnore;
            _fileSystem          = fileSystem;
            _logFileNameComposer = logFileNameComposer;
            _dateTimeProvider    = dateTimeProvider;
            _trigger             = trigger;

            _trigger.RegisterAction(PerformArchiving);
        }