protected LinkedList<string> RolloverSimulation(LinkedList<string> files, string formatPattern, bool deleteLatestFile) { LinkedList<string> fileList = files; RolloverFilenameBuilder fnb = new RolloverFilenameBuilder(formatPattern); fnb.SetFileName(fileList.Last.Value); fnb.Index = fnb.Index + fileList.Count; string newFileName = fnb.BuildFileName(); fileList.AddFirst(newFileName); LinkedList<string>.Enumerator enumerator = fileList.GetEnumerator(); LinkedList<string>.Enumerator nextEnumerator = fileList.GetEnumerator(); nextEnumerator.MoveNext(); // move on 2nd entry enumerator.MoveNext(); while (nextEnumerator.MoveNext()) { File.Move(nextEnumerator.Current, enumerator.Current); enumerator.MoveNext(); } CreateFile(null, nextEnumerator.Current); if (deleteLatestFile) { File.Delete(fileList.First.Value); fileList.RemoveFirst(); } return fileList; }
/// <summary> /// Constructor. /// </summary> /// <param name="filePath">The complete path of the logfile</param> /// <param name="options">Multifile option (e.g. format pattern)</param> public RolloverFilenameHandler(ILogFileInfo logFileInfo, MultifileOptions options) { this.options = options; this.logFileInfo = logFileInfo; this.filenameBuilder = new RolloverFilenameBuilder(this.options.FormatPattern); this.filenameBuilder.SetFileName(logFileInfo.FileName); }
public void testFilenameHiddenZero3() { RolloverFilenameBuilder fnb = new RolloverFilenameBuilder("engine$J.log"); fnb.SetFileName("engine1.log"); string name = fnb.BuildFileName(); Assert.AreEqual("engine1.log", name); fnb.Index = fnb.Index - 1; name = fnb.BuildFileName(); Assert.AreEqual("engine.log", name); }
public void testFilename3() { RolloverFilenameBuilder fnb = new RolloverFilenameBuilder("*_$I.log"); fnb.SetFileName("engine_0.log"); string name = fnb.BuildFileName(); Assert.AreEqual("engine_0.log", name); fnb.Index = fnb.Index + 1; name = fnb.BuildFileName(); Assert.AreEqual("engine_1.log", name); }
public void testFilename2() { RolloverFilenameBuilder fnb = new RolloverFilenameBuilder("*$D(yyyy-MM-dd).log"); fnb.SetFileName("engine_2010-06-12.log"); string name = fnb.BuildFileName(); Assert.AreEqual("engine_2010-06-12.log", name); fnb.Index = fnb.Index + 1; name = fnb.BuildFileName(); Assert.AreEqual("engine_2010-06-12.log", name); }
public void testFilenameWithDateAndHiddenZero() { RolloverFilenameBuilder fnb = new RolloverFilenameBuilder("*$D(yyyy-MM-dd).log$J(.)"); fnb.SetFileName("engine_2010-06-12.log"); string name = fnb.BuildFileName(); Assert.AreEqual("engine_2010-06-12.log", name); fnb.Index = fnb.Index + 1; name = fnb.BuildFileName(); Assert.AreEqual("engine_2010-06-12.log.1", name); }
public void testFilename1() { RolloverFilenameBuilder fnb = new RolloverFilenameBuilder("*$D(yyyy-MM-dd)_$I.log"); fnb.SetFileName("engine_2010-06-12_0.log"); string name = fnb.BuildFileName(); Assert.AreEqual("engine_2010-06-12_0.log", name); fnb.Index = fnb.Index + 1; name = fnb.BuildFileName(); Assert.AreEqual("engine_2010-06-12_1.log", name); }
public void testFilenameHiddenZero() { RolloverFilenameBuilder fnb = new RolloverFilenameBuilder("*.log$J(.)"); fnb.SetFileName("engine.log"); string name = fnb.BuildFileName(); Assert.AreEqual("engine.log", name); fnb.Index = fnb.Index + 1; name = fnb.BuildFileName(); Assert.AreEqual("engine.log.1", name); fnb.Index = fnb.Index + 1; name = fnb.BuildFileName(); Assert.AreEqual("engine.log.2", name); }