public void LogTest02() { const string fileName = @"Temp\\Test02.txt"; if (File.Exists(fileName)) { File.Delete(fileName); } using (var log = new DELogFile(fileName)) { for (var i = 0; i < 100; i++) { log.Add(new DELogLine(BaseStamp.AddSeconds(i), LogMsgType.Information, $"Test Line {i}")); } } Assert.AreEqual(3990, new FileInfo(fileName).Length); using (var log = new DELogFile(fileName)) { var i = 0; foreach (DELogLine l in log) { Assert.AreEqual($"Test Line {i++}", l.Text); } i = 50; var e = log.GetEnumerator(50, 60); while (e.MoveNext()) { Assert.AreEqual($"Test Line {i++}", e.Current.Text); } } }
} // func GetFullName protected override void OnBeginReadConfiguration(IDEConfigLoading config) { base.OnBeginReadConfiguration(config); if (config.ConfigOld == null) // LogDatei darf nur einmal initialisiert werden { if (String.IsNullOrEmpty(Server.LogPath)) { throw new ArgumentNullException("logPath", "LogPath muss gesetzt sein."); } // Lege die Logdatei an logFile = new DELogFile(LogFileName); logFile.LinesAdded += (sender, e) => OnLinesAdded(); ConfigLogItemCount++; } // Lese die Parameter für die Logdatei var xLog = config.ConfigNew.Element(DEConfigurationConstants.xnLog); if (xLog != null) { SetLogSize(xLog.GetAttribute("min", logFile.MinimumSize), xLog.GetAttribute("max", logFile.MaximumSize)); } } // proc OnBeginReadConfiguration
} // ctor /// <summary></summary> /// <param name="disposing"></param> protected override void Dispose(bool disposing) { if (disposing) { logListController?.Dispose(); logFile?.Dispose(); logFile = null; ConfigLogItemCount--; } base.Dispose(disposing); } // proc Disposing
public void LogTest01() { const string fileName = @"Temp\\Test01.txt"; if (File.Exists(fileName)) { File.Delete(fileName); } using (var log = new DELogFile(fileName)) { for (var i = 0; i < 100; i++) { log.Add(new DELogLine(BaseStamp.AddSeconds(i), LogMsgType.Information, $"Test Line {i}")); } } Assert.AreEqual(3990, new FileInfo(fileName).Length); using (var log = new DELogFile(fileName)) { for (var i = 0; i < 100; i++) { log.Add(new DELogLine(BaseStamp.AddSeconds(i), LogMsgType.Error, $"Test Line {i}")); } } Assert.AreEqual(3990 * 2, new FileInfo(fileName).Length); using (var log = new DELogFile(fileName)) { log.SetSize(3992, 7000); log.Add(new DELogLine(BaseStamp, LogMsgType.Warning, "Last Line")); } Assert.AreEqual(4187, new FileInfo(fileName).Length); using (var log = new DELogFile(fileName)) { log.SetSize(0, 3000); log.Add(new DELogLine(BaseStamp, LogMsgType.Warning, "Last Line 2")); } Assert.AreEqual(396, new FileInfo(fileName).Length); }