예제 #1
0
 public LogControllerThreadWorker(LogMarshal logMarshal,
                                  LogControllerSettings logSettings,
                                  Logging.ILogStatistics logStats,
                                  FileStorage.IFileStore archiveFileStore,
                                  IArchiveFilenameFactory archiveFilenameFactory)
 {
     _LogMarshal             = logMarshal;
     _LogSettings            = logSettings;
     _LogStats               = logStats;
     _ArchiveFileStore       = archiveFileStore;
     _ArchiveFilenameFactory = archiveFilenameFactory;
 }
예제 #2
0
 /// <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;
 }
예제 #3
0
 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;
 }