public void Configure(XElement xml) { var template = new FileTarget(); // used for default values KeepFileOpen = Attempt.Get(() => bool.Parse(xml.GetAttributeValue("KeepFileOpen", "KeepOpen")), template.KeepFileOpen) .Value; Path = xml.GetAttributeValue("path", "file", "folder", "dir", "directory", "filepath"); ArchiveCount = Attempt.Get(() => int.Parse(xml.GetAttributeValue("archivecount")), template.ArchiveCount).Value; EntryFormatter = ConstructOrDefault<IEntryConverter<string>>(xml.GetAttributeValue("entryformatter", "formatter")); Interval = Attempt.Get(() => LoggingInterval.Parse(xml.GetAttributeValue("interval"))).Value; }
public void LogToFileInDirectory() { var fileTarget = new FileTarget { Path = @"C:\Users\roverby\Desktop\mylogz.xxx\" }; var mgr = new LogManager(new[] { fileTarget }); mgr.UnhandledLoggingException += (sender, args) => { throw args.Exception; }; var log = mgr.GetLoggerForCallingType(); for (var i = 0; i < 10000; i++) { log.Info("test"); log.Warn("YIKE!"); } mgr.Dispose(); }
public void LogToFilesInterval() { var fileTarget = new FileTarget(); var mgr = new LogManager(new[] { fileTarget }); fileTarget.Configure(XElement.Parse(@"<target path=""C:\Users\roverby\Desktop\logtest"" interval=""5 second"" archivecount=""3"" />")); Assert.AreEqual(3, fileTarget.ArchiveCount); Assert.AreEqual(TimeSpan.FromSeconds(5), fileTarget.Interval.Duration); mgr.UnhandledLoggingException += (sender, args) => { throw args.Exception; }; var log = mgr.GetLoggerForCallingType(); for (var i = 0; i < 1000 * 1000; i++) { log.Info("test"); log.Warn("YIKE!"); } mgr.Dispose(); }
public void LogToFile() { var fileTarget = new FileTarget { Path = @"C:\Users\roverby\Desktop\log.test.txt", //Interval= LoggingInterval.Parse("5 second"), //ArchiveCount= 3, KeepFileOpen = true }; var mgr = new LogManager(new[] { fileTarget }); mgr.UnhandledLoggingException += (sender, args) => { throw args.Exception; }; var log = mgr.GetLoggerForCallingType(); for (var i = 0; i < 10000; i++) { log.Info("test"); log.Warn("YIKE!"); } mgr.Dispose(); }