Inheritance: log4net.Layout.Pattern.PatternLayoutConverter
コード例 #1
0
        public void PatternLayoutConverterProperties()
        {
            XmlDocument log4netConfig = new XmlDocument();

            log4netConfig.LoadXml(@"
				<log4net>
				  <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
					<layout type=""log4net.Layout.PatternLayout"">
						<converter>
							<name value=""propertyKeyCount"" />
							<type value=""log4net.Tests.Util.PropertyKeyCountPatternLayoutConverter, log4net.Tests"" />
							<property>
								<key value=""one-plus-one"" />
								<value value=""2"" />
							</property>
							<property>
							   <key value=""two-plus-two"" />
							   <value value=""4"" />
							</property>
						</converter>
						<conversionPattern value=""%propertyKeyCount"" />
					</layout>
				  </appender>
				  <root>
					<level value=""ALL"" />
					<appender-ref ref=""StringAppender"" />
				  </root>
				</log4net>"                );

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            XmlConfigurator.Configure(rep, log4netConfig["log4net"]);

            ILog log = LogManager.GetLogger(rep.Name, "PatternLayoutConverterProperties");

            log.Debug("Message");

            PropertyKeyCountPatternLayoutConverter converter =
                PropertyKeyCountPatternLayoutConverter.MostRecentInstance;

            Assert.AreEqual(2, converter.Properties.Count);
            Assert.AreEqual("4", converter.Properties["two-plus-two"]);

            StringAppender appender =
                (StringAppender)LogManager.GetRepository(rep.Name).GetAppenders()[0];

            Assert.AreEqual("2", appender.GetString());
        }
コード例 #2
0
 public PropertyKeyCountPatternLayoutConverter()
 {
     mostRecentInstance = this;
 }
コード例 #3
0
 public PropertyKeyCountPatternLayoutConverter()
 {
     mostRecentInstance = this;
 }