[TestMethod()] public void MultipleFilters() { var Logger = new LoggerProxy(Log); var filters = Logger.Filters; filters.Add(LogFilters.AddPrefix("Pre>")); Log.WriteDelay = 0; Log.Filters.Add(LogFilters.IgnoreDuplicateExceptions()); Log.Filters.Add(LogFilters.AutoMultiParam); Log.Filters.Add(LogFilters.FormatParams); Log.Filters.Add(LogFilters.ResolveLazy); Log.Filters.Add(LogFilters.AddPostfix("<Post")); Logger.Info("ARST"); Assert.IsTrue(LogContent.Contains("Pre>ARST"), "Simple Log"); Logger.Info("A", "R", null, "S", "T"); Assert.IsTrue(LogContent.Contains(">A R null S T<"), "Format multi params"); Logger.Info((Func <string>)(() => "QWFP")); Assert.IsTrue(LogContent.Contains(">QWFP"), "Resolve lazy"); Exception subject = new Exception(); Logger.Error(subject); Assert.IsTrue(LogContent.Contains("Pre>System.Exception:"), "Exception is logged"); var len = LogSize; Logger.Error("Error: {0}", subject); Assert.IsTrue(LogSize == len, "Duplicate is suppressed"); }
[TestMethod()] public void IngoreDupErrorFilter() { Log.WriteDelay = 0; Log.Filters.Add(LogFilters.IgnoreDuplicateExceptions()); Exception subject = new Exception(); Log.Error(subject); Assert.IsTrue(LogContent.Contains("Exception"), "Exception is logged"); long len = LogSize; Log.Error(subject); Assert.IsTrue(LogSize == len, "Duplicate is suppressed"); Log.Error(subject.ToString()); Assert.IsTrue(LogSize > len, "Non exceptions are allowed"); len = LogSize; Log.Filters.Add(LogFilters.AddPrefix("ABC")); Log.Filters.Add(LogFilters.AddPostfix("DEF")); Log.Error(subject); Assert.IsTrue(LogSize == len, "Duplicate is suppressed with pre post"); Log.Error(new FormatException()); Assert.IsTrue(LogContent.Contains("FormatException"), "New exception is logged"); len = LogSize; Log.Error(subject); Assert.IsTrue(LogSize == len, "Duplicate is still suppressed"); Assert.AreEqual(null, Error, "OnError"); }
internal void CheckSetup() { lock (this) { if (ModLoader.NeedSetup) { App.Log("Initiating ModLoader"); var logger = new GuiLogger(); ModLoader.SetLog(logger); logger.Filters.Add(LogFilters.AddPrefix("Loader┊")); App.Log("Setup ModLoader"); ModLoader.Setup(); Sandbox.EnqueueSandbox(); } } }
[TestMethod()] public void PrefixPostfixFilter() { Log.WriteDelay = 0; Log.Filters.Add(LogFilters.AddPrefix("A")); Log.Filters.Add(LogFilters.AddPostfix("Z")); Exception subject = new Exception(); Log.Info(null); Assert.IsTrue(LogContent.Contains("AZ"), "Added to null"); Log.Info("BC XY"); Assert.IsTrue(LogContent.Contains("ABC XYZ"), "Added to message"); Assert.AreEqual(null, Error, "OnError"); }