public LogControllerThreadWorker(LogMarshal logMarshal, LogControllerSettings logSettings, Logging.ILogStatistics logStats, FileStorage.IFileStore archiveFileStore, IArchiveFilenameFactory archiveFilenameFactory) { _LogMarshal = logMarshal; _LogSettings = logSettings; _LogStats = logStats; _ArchiveFileStore = archiveFileStore; _ArchiveFilenameFactory = archiveFilenameFactory; }
/// <summary> /// Initializes and engages the logging sub-systems. /// </summary> public void Start() { if (IsRunning) { throw new InvalidOperationException("The LogController has already been started."); } // create/open LogMarshal LogMarshal = new LogMarshal(_Log, Settings); LogMarshal.Open(); _FinalStatistics = null; // create/start cache flush and archive monitor thread _InternalThreadWorker = new LogControllerThreadWorker(LogMarshal, Settings, _ArchiveStatistics, _LogArchiveFileStore, _ArchiveFilenameFactory); _InternalThreadWorker.Start(); // IsRunning = true; StartTime = DateTimeOffset.Now; }
private void InternalGetStatistics() { _FinalStatistics = _Log.Statistics; // populate Cache Log Statistics _FinalStatistics.AutoFlushTimeRemaining = (_InternalThreadWorker != null) ? _InternalThreadWorker.RemainingTimeToAutoFlush : TimeSpan.Zero; _FinalStatistics.AutoFlushEnabled = true; _FinalStatistics.AutoFlushTimeLimit = Settings.AutoFlushTimeLimit; _FinalStatistics.AutoFlushMaximumLogs = Settings.AutoFlushMaximumLogs; _FinalStatistics.TotalLogCount = LogMarshal.TotalCount; _FinalStatistics.IncomingLogCount = LogMarshal.IncomingCount; _FinalStatistics.CachedLogCount = LogMarshal.CachedCount; _FinalStatistics.LargestFlushCount = LogMarshal.LargestFlushCount; _FinalStatistics.LastFlushDate = LogMarshal.LastFlushDate; _FinalStatistics.FlushGeneration = LogMarshal.FlushGeneration; _FinalStatistics.LastFlushCount = LogMarshal.LastFlushCount; // populate Archive Statistics _FinalStatistics.AutoArchiveEnabled = Settings.AutoArchiveEnabled; _FinalStatistics.ArchivedLogCount = _ArchiveStatistics.ArchivedLogCount; _FinalStatistics.ArchiveGeneration = _ArchiveStatistics.ArchiveGeneration; _FinalStatistics.AutoArchiveMaximumLogs = Settings.AutoArchiveMaximumLogs; _FinalStatistics.LargestArchiveCount = _ArchiveStatistics.LargestArchiveCount; _FinalStatistics.LastArchiveCount = _ArchiveStatistics.LastArchiveCount; _FinalStatistics.LastArchiveDate = _ArchiveStatistics.LastArchiveDate; }