public void TracingErrorInformation() { var factory = new TraceLoggerFactory(); var logger = factory.Create(typeof(TraceLoggerTests), LoggerLevel.Debug); try { try { var fakearg = "Thisisavalue"; throw new ArgumentOutOfRangeException("fakearg", fakearg, "Thisisamessage"); } catch (Exception ex) { throw new ApplicationException("Inner error is " + ex.Message, ex); } } catch (Exception ex) { logger.Error("Problem handled", ex); } MyListener.AssertContains("testsrule", "Castle.Core.Test.Main.TraceLoggerTests"); MyListener.AssertContains("testsrule", "Problem handled"); MyListener.AssertContains("testsrule", "ApplicationException"); MyListener.AssertContains("testsrule", "Inner error is"); MyListener.AssertContains("testsrule", "ArgumentOutOfRangeException"); MyListener.AssertContains("testsrule", "fakearg"); MyListener.AssertContains("testsrule", "Thisisavalue"); MyListener.AssertContains("testsrule", "Thisisamessage"); }
public void FallUpToShorterSourceName() { var factory = new TraceLoggerFactory(); var logger = factory.Create(typeof(Configuration.Xml.XmlConfigurationDeserializer), LoggerLevel.Debug); logger.Info("Logging to config namespace"); MyListener.AssertContains("configrule", "Castle.Core.Configuration.Xml.XmlConfigurationDeserializer"); MyListener.AssertContains("configrule", "Logging to config namespace"); }
public void FallUpToDefaultSource() { var factory = new TraceLoggerFactory(); var logger = factory.Create("System.Xml.XmlDocument", LoggerLevel.Debug); logger.Info("Logging to non-configured namespace namespace"); Assert.IsNotNull(logger); MyListener.AssertContains("defaultrule", "System.Xml.XmlDocument"); MyListener.AssertContains("defaultrule", "Logging to non-configured namespace namespace"); }
public void WritingToLoggerByType() { var factory = new TraceLoggerFactory(); var logger = factory.Create(typeof(TraceLoggerTests), LoggerLevel.Debug); logger.Debug("this is a tracing message"); Assert.IsTrue(logger is LevelFilteredLogger); Assert.AreEqual((logger as LevelFilteredLogger).Name, "Castle.Core.Test.Main.TraceLoggerTests"); MyListener.AssertContains("testsrule", "Castle.Core.Test.Main.TraceLoggerTests"); MyListener.AssertContains("testsrule", "this is a tracing message"); }