public void NamedPatternConverterWithPrecision2ShouldStripLessLeadingStuffIfPresent() { StringAppender stringAppender = new StringAppender(); LayoutPattern layout = NewPatternLayout(); layout.AddConverter("message-as-name", typeof(MessageAsNamePatternConverter)); layout.Pattern = "%message-as-name{2}"; layout.Activate(); stringAppender.Layout = layout; ILoggerController rep = LogManager.CreateController(Guid.NewGuid().ToString()); BasicConfig.Config(rep, stringAppender); ILog log1 = LogManager.Get(rep.Name, "TestAddingCustomPattern"); log1.Info("NoDots"); Assert.AreEqual("NoDots", stringAppender.GetString(), "%message-as-name not registered"); stringAppender.Reset(); log1.Info("One.Dot"); Assert.AreEqual("One.Dot", stringAppender.GetString(), "%message-as-name not registered"); stringAppender.Reset(); log1.Info("Tw.o.Dots"); Assert.AreEqual("o.Dots", stringAppender.GetString(), "%message-as-name not registered"); stringAppender.Reset(); log1.Info("TrailingDot."); Assert.AreEqual("TrailingDot.", stringAppender.GetString(), "%message-as-name not registered"); stringAppender.Reset(); log1.Info(".LeadingDot"); Assert.AreEqual("LeadingDot", stringAppender.GetString(), "%message-as-name not registered"); stringAppender.Reset(); // empty string and other evil combinations as tests for of-by-one mistakes in index calculations log1.Info(string.Empty); Assert.AreEqual(string.Empty, stringAppender.GetString(), "%message-as-name not registered"); stringAppender.Reset(); log1.Info("x"); Assert.AreEqual("x", stringAppender.GetString(), "%message-as-name not registered"); stringAppender.Reset(); log1.Info("."); Assert.AreEqual(".", stringAppender.GetString(), "%message-as-name not registered"); stringAppender.Reset(); }
public void TestAddingCustomPattern() { StringAppender stringAppender = new StringAppender(); LayoutPattern layout = NewPatternLayout(); layout.AddConverter("TestAddingCustomPattern", typeof(TestMessagePatternConverter)); layout.Pattern = "%TestAddingCustomPattern"; layout.Activate(); stringAppender.Layout = layout; ILoggerController rep = LogManager.CreateController(Guid.NewGuid().ToString()); BasicConfig.Config(rep, stringAppender); ILog log1 = LogManager.Get(rep.Name, "TestAddingCustomPattern"); log1.Info("TestMessage"); Assert.AreEqual("TestMessage", stringAppender.GetString(), "%TestAddingCustomPattern not registered"); stringAppender.Reset(); }