You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by bo...@apache.org on 2011/08/17 07:57:04 UTC
svn commit: r1158529 [6/7] - in /logging/log4net/trunk: ./ doc/css/
examples/ examples/mono/ examples/mono/1.0/ examples/mono/1.0/Performance/
examples/mono/1.0/Performance/NotLogging/
examples/mono/1.0/Performance/NotLogging/cs/ examples/mono/1.0/Perf...
Modified: logging/log4net/trunk/tests/src/Core/StringFormatTest.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Core/StringFormatTest.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Core/StringFormatTest.cs (original)
+++ logging/log4net/trunk/tests/src/Core/StringFormatTest.cs Wed Aug 17 05:57:00 2011
@@ -1,689 +1,689 @@
-#region Apache License
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to you under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-#endregion
-
-using System;
-using System.Globalization;
-
-using log4net.Config;
-using log4net.Core;
-using log4net.Layout;
-using log4net.Repository;
-using log4net.Tests.Appender;
-using log4net.Tests.Layout;
-
-using NUnit.Framework;
-
-namespace log4net.Tests.Core
-{
- /// <summary>
- /// Used for internal unit testing the <see cref="PatternLayoutTest"/> class.
- /// </summary>
- /// <remarks>
- /// Used for internal unit testing the <see cref="PatternLayoutTest"/> class.
- /// </remarks>
- [TestFixture]
- public class StringFormatTest
- {
- [Test]
- public void TestFormatString()
- {
- StringAppender stringAppender = new StringAppender();
- stringAppender.Layout = new PatternLayout("%message");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- BasicConfigurator.Configure(rep, stringAppender);
-
- ILog log1 = LogManager.GetLogger(rep.Name, "TestFormatString");
-
- // ***
- log1.Info("TestMessage");
- Assert.AreEqual("TestMessage", stringAppender.GetString(), "Test simple INFO event");
- stringAppender.Reset();
-
-
- // ***
- log1.DebugFormat("Before {0} After", "Middle");
- Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted DEBUG event");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat("Before {0} After", "Middle");
- Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted INFO event");
- stringAppender.Reset();
-
- // ***
- log1.WarnFormat("Before {0} After", "Middle");
- Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted WARN event");
- stringAppender.Reset();
-
- // ***
- log1.ErrorFormat("Before {0} After", "Middle");
- Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted ERROR event");
- stringAppender.Reset();
-
- // ***
- log1.FatalFormat("Before {0} After", "Middle");
- Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted FATAL event");
- stringAppender.Reset();
-
-
- // ***
- log1.InfoFormat("Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("Before Middle After End", stringAppender.GetString(), "Test simple formatted INFO event 2");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat("IGNORE THIS WARNING - EXCEPTION EXPECTED Before {0} After {1} {2}", "Middle", "End");
- Assert.AreEqual(STRING_FORMAT_ERROR, stringAppender.GetString(), "Test formatting error");
- stringAppender.Reset();
- }
-
- private const string STRING_FORMAT_ERROR = "<log4net.Error>Exception during StringFormat: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. <format>IGNORE THIS WARNING - EXCEPTION EXPECTED Before {0} After {1} {2}</format><args>{Middle, End}</args></log4net.Error>";
-
-
- [Test]
- public void TestLogFormatApi_Debug()
- {
- StringAppender stringAppender = new StringAppender();
- stringAppender.Layout = new PatternLayout("%level:%message");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- BasicConfigurator.Configure(rep, stringAppender);
-
- ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Debug");
-
- // ***
- log1.Debug("TestMessage");
- Assert.AreEqual("DEBUG:TestMessage", stringAppender.GetString(), "Test simple DEBUG event 1");
- stringAppender.Reset();
-
- // ***
- log1.Debug("TestMessage", null);
- Assert.AreEqual("DEBUG:TestMessage", stringAppender.GetString(), "Test simple DEBUG event 2");
- stringAppender.Reset();
-
- // ***
- log1.Debug("TestMessage", new Exception("Exception message"));
- Assert.AreEqual("DEBUG:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple DEBUG event 3");
- stringAppender.Reset();
-
- // ***
- log1.DebugFormat("a{0}", "1");
- Assert.AreEqual("DEBUG:a1", stringAppender.GetString(), "Test formatted DEBUG event with 1 parm");
- stringAppender.Reset();
-
- // ***
- log1.DebugFormat("a{0}b{1}", "1", "2");
- Assert.AreEqual("DEBUG:a1b2", stringAppender.GetString(), "Test formatted DEBUG event with 2 parm");
- stringAppender.Reset();
-
- // ***
- log1.DebugFormat("a{0}b{1}c{2}", "1", "2", "3");
- Assert.AreEqual("DEBUG:a1b2c3", stringAppender.GetString(), "Test formatted DEBUG event with 3 parm");
- stringAppender.Reset();
-
-
- // ***
- log1.DebugFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
- Assert.AreEqual("DEBUG:aQbWcEdReTf", stringAppender.GetString(), "Test formatted DEBUG event with 5 parms (only 4 used)");
- stringAppender.Reset();
-
- // ***
- log1.DebugFormat(null, "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("DEBUG:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
- stringAppender.Reset();
-
- // ***
- log1.DebugFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("DEBUG:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
- stringAppender.Reset();
- }
-
- [Test]
- public void TestLogFormatApi_NoDebug()
- {
- StringAppender stringAppender = new StringAppender();
- stringAppender.Threshold = Level.Info;
- stringAppender.Layout = new PatternLayout("%level:%message");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- BasicConfigurator.Configure(rep, stringAppender);
-
- ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Debug");
-
- // ***
- log1.Debug("TestMessage");
- Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 1");
- stringAppender.Reset();
-
- // ***
- log1.Debug("TestMessage", null);
- Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 2");
- stringAppender.Reset();
-
- // ***
- log1.Debug("TestMessage", new Exception("Exception message"));
- Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 3");
- stringAppender.Reset();
-
- // ***
- log1.DebugFormat("a{0}", "1");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 1 parm");
- stringAppender.Reset();
-
- // ***
- log1.DebugFormat("a{0}b{1}", "1", "2");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 2 parm");
- stringAppender.Reset();
-
- // ***
- log1.DebugFormat("a{0}b{1}c{2}", "1", "2", "3");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 3 parm");
- stringAppender.Reset();
-
-
- // ***
- log1.DebugFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 5 parms (only 4 used)");
- stringAppender.Reset();
-
- // ***
- log1.DebugFormat(null, "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
- stringAppender.Reset();
-
- // ***
- log1.DebugFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
- stringAppender.Reset();
- }
-
-
- [Test]
- public void TestLogFormatApi_Info()
- {
- StringAppender stringAppender = new StringAppender();
- stringAppender.Layout = new PatternLayout("%level:%message");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- BasicConfigurator.Configure(rep, stringAppender);
-
- ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Info");
-
- // ***
- log1.Info("TestMessage");
- Assert.AreEqual("INFO:TestMessage", stringAppender.GetString(), "Test simple INFO event 1");
- stringAppender.Reset();
-
- // ***
- log1.Info("TestMessage", null);
- Assert.AreEqual("INFO:TestMessage", stringAppender.GetString(), "Test simple INFO event 2");
- stringAppender.Reset();
-
- // ***
- log1.Info("TestMessage", new Exception("Exception message"));
- Assert.AreEqual("INFO:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple INFO event 3");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat("a{0}", "1");
- Assert.AreEqual("INFO:a1", stringAppender.GetString(), "Test formatted INFO event with 1 parm");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat("a{0}b{1}", "1", "2");
- Assert.AreEqual("INFO:a1b2", stringAppender.GetString(), "Test formatted INFO event with 2 parm");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat("a{0}b{1}c{2}", "1", "2", "3");
- Assert.AreEqual("INFO:a1b2c3", stringAppender.GetString(), "Test formatted INFO event with 3 parm");
- stringAppender.Reset();
-
-
- // ***
- log1.InfoFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
- Assert.AreEqual("INFO:aQbWcEdReTf", stringAppender.GetString(), "Test formatted INFO event with 5 parms (only 4 used)");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat(null, "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("INFO:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("INFO:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
- stringAppender.Reset();
- }
-
- [Test]
- public void TestLogFormatApi_NoInfo()
- {
- StringAppender stringAppender = new StringAppender();
- stringAppender.Threshold = Level.Warn;
- stringAppender.Layout = new PatternLayout("%level:%message");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- BasicConfigurator.Configure(rep, stringAppender);
-
- ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Info");
-
- // ***
- log1.Info("TestMessage");
- Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 1");
- stringAppender.Reset();
-
- // ***
- log1.Info("TestMessage", null);
- Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 2");
- stringAppender.Reset();
-
- // ***
- log1.Info("TestMessage", new Exception("Exception message"));
- Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 3");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat("a{0}", "1");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 1 parm");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat("a{0}b{1}", "1", "2");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 2 parm");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat("a{0}b{1}c{2}", "1", "2", "3");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 3 parm");
- stringAppender.Reset();
-
-
- // ***
- log1.InfoFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 5 parms (only 4 used)");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat(null, "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
- stringAppender.Reset();
-
- // ***
- log1.InfoFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
- stringAppender.Reset();
- }
-
-
- [Test]
- public void TestLogFormatApi_Warn()
- {
- StringAppender stringAppender = new StringAppender();
- stringAppender.Layout = new PatternLayout("%level:%message");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- BasicConfigurator.Configure(rep, stringAppender);
-
- ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Warn");
-
- // ***
- log1.Warn("TestMessage");
- Assert.AreEqual("WARN:TestMessage", stringAppender.GetString(), "Test simple WARN event 1");
- stringAppender.Reset();
-
- // ***
- log1.Warn("TestMessage", null);
- Assert.AreEqual("WARN:TestMessage", stringAppender.GetString(), "Test simple WARN event 2");
- stringAppender.Reset();
-
- // ***
- log1.Warn("TestMessage", new Exception("Exception message"));
- Assert.AreEqual("WARN:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple WARN event 3");
- stringAppender.Reset();
-
- // ***
- log1.WarnFormat("a{0}", "1");
- Assert.AreEqual("WARN:a1", stringAppender.GetString(), "Test formatted WARN event with 1 parm");
- stringAppender.Reset();
-
- // ***
- log1.WarnFormat("a{0}b{1}", "1", "2");
- Assert.AreEqual("WARN:a1b2", stringAppender.GetString(), "Test formatted WARN event with 2 parm");
- stringAppender.Reset();
-
- // ***
- log1.WarnFormat("a{0}b{1}c{2}", "1", "2", "3");
- Assert.AreEqual("WARN:a1b2c3", stringAppender.GetString(), "Test formatted WARN event with 3 parm");
- stringAppender.Reset();
-
-
- // ***
- log1.WarnFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
- Assert.AreEqual("WARN:aQbWcEdReTf", stringAppender.GetString(), "Test formatted WARN event with 5 parms (only 4 used)");
- stringAppender.Reset();
-
- // ***
- log1.WarnFormat(null, "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("WARN:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
- stringAppender.Reset();
-
- // ***
- log1.WarnFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("WARN:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
- stringAppender.Reset();
- }
-
- [Test]
- public void TestLogFormatApi_NoWarn()
- {
- StringAppender stringAppender = new StringAppender();
- stringAppender.Threshold = Level.Error;
- stringAppender.Layout = new PatternLayout("%level:%message");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- BasicConfigurator.Configure(rep, stringAppender);
-
- ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Warn");
-
- // ***
- log1.Warn("TestMessage");
- Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 1");
- stringAppender.Reset();
-
- // ***
- log1.Warn("TestMessage", null);
- Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 2");
- stringAppender.Reset();
-
- // ***
- log1.Warn("TestMessage", new Exception("Exception message"));
- Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 3");
- stringAppender.Reset();
-
- // ***
- log1.WarnFormat("a{0}", "1");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 1 parm");
- stringAppender.Reset();
-
- // ***
- log1.WarnFormat("a{0}b{1}", "1", "2");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 2 parm");
- stringAppender.Reset();
-
- // ***
- log1.WarnFormat("a{0}b{1}c{2}", "1", "2", "3");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 3 parm");
- stringAppender.Reset();
-
-
- // ***
- log1.WarnFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 5 parms (only 4 used)");
- stringAppender.Reset();
-
- // ***
- log1.WarnFormat(null, "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
- stringAppender.Reset();
-
- // ***
- log1.WarnFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
- stringAppender.Reset();
- }
-
-
- [Test]
- public void TestLogFormatApi_Error()
- {
- StringAppender stringAppender = new StringAppender();
- stringAppender.Layout = new PatternLayout("%level:%message");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- BasicConfigurator.Configure(rep, stringAppender);
-
- ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Error");
-
- // ***
- log1.Error("TestMessage");
- Assert.AreEqual("ERROR:TestMessage", stringAppender.GetString(), "Test simple ERROR event 1");
- stringAppender.Reset();
-
- // ***
- log1.Error("TestMessage", null);
- Assert.AreEqual("ERROR:TestMessage", stringAppender.GetString(), "Test simple ERROR event 2");
- stringAppender.Reset();
-
- // ***
- log1.Error("TestMessage", new Exception("Exception message"));
- Assert.AreEqual("ERROR:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple ERROR event 3");
- stringAppender.Reset();
-
- // ***
- log1.ErrorFormat("a{0}", "1");
- Assert.AreEqual("ERROR:a1", stringAppender.GetString(), "Test formatted ERROR event with 1 parm");
- stringAppender.Reset();
-
- // ***
- log1.ErrorFormat("a{0}b{1}", "1", "2");
- Assert.AreEqual("ERROR:a1b2", stringAppender.GetString(), "Test formatted ERROR event with 2 parm");
- stringAppender.Reset();
-
- // ***
- log1.ErrorFormat("a{0}b{1}c{2}", "1", "2", "3");
- Assert.AreEqual("ERROR:a1b2c3", stringAppender.GetString(), "Test formatted ERROR event with 3 parm");
- stringAppender.Reset();
-
-
- // ***
- log1.ErrorFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
- Assert.AreEqual("ERROR:aQbWcEdReTf", stringAppender.GetString(), "Test formatted ERROR event with 5 parms (only 4 used)");
- stringAppender.Reset();
-
- // ***
- log1.ErrorFormat(null, "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("ERROR:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
- stringAppender.Reset();
-
- // ***
- log1.ErrorFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("ERROR:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
- stringAppender.Reset();
- }
-
- [Test]
- public void TestLogFormatApi_NoError()
- {
- StringAppender stringAppender = new StringAppender();
- stringAppender.Threshold = Level.Fatal;
- stringAppender.Layout = new PatternLayout("%level:%message");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- BasicConfigurator.Configure(rep, stringAppender);
-
- ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Error");
-
- // ***
- log1.Error("TestMessage");
- Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 1");
- stringAppender.Reset();
-
- // ***
- log1.Error("TestMessage", null);
- Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 2");
- stringAppender.Reset();
-
- // ***
- log1.Error("TestMessage", new Exception("Exception message"));
- Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 3");
- stringAppender.Reset();
-
- // ***
- log1.ErrorFormat("a{0}", "1");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 1 parm");
- stringAppender.Reset();
-
- // ***
- log1.ErrorFormat("a{0}b{1}", "1", "2");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 2 parm");
- stringAppender.Reset();
-
- // ***
- log1.ErrorFormat("a{0}b{1}c{2}", "1", "2", "3");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 3 parm");
- stringAppender.Reset();
-
-
- // ***
- log1.ErrorFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 5 parms (only 4 used)");
- stringAppender.Reset();
-
- // ***
- log1.ErrorFormat(null, "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
- stringAppender.Reset();
-
- // ***
- log1.ErrorFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
- stringAppender.Reset();
- }
-
-
- [Test]
- public void TestLogFormatApi_Fatal()
- {
- StringAppender stringAppender = new StringAppender();
- stringAppender.Layout = new PatternLayout("%level:%message");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- BasicConfigurator.Configure(rep, stringAppender);
-
- ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Fatal");
-
- // ***
- log1.Fatal("TestMessage");
- Assert.AreEqual("FATAL:TestMessage", stringAppender.GetString(), "Test simple FATAL event 1");
- stringAppender.Reset();
-
- // ***
- log1.Fatal("TestMessage", null);
- Assert.AreEqual("FATAL:TestMessage", stringAppender.GetString(), "Test simple FATAL event 2");
- stringAppender.Reset();
-
- // ***
- log1.Fatal("TestMessage", new Exception("Exception message"));
- Assert.AreEqual("FATAL:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple FATAL event 3");
- stringAppender.Reset();
-
- // ***
- log1.FatalFormat("a{0}", "1");
- Assert.AreEqual("FATAL:a1", stringAppender.GetString(), "Test formatted FATAL event with 1 parm");
- stringAppender.Reset();
-
- // ***
- log1.FatalFormat("a{0}b{1}", "1", "2");
- Assert.AreEqual("FATAL:a1b2", stringAppender.GetString(), "Test formatted FATAL event with 2 parm");
- stringAppender.Reset();
-
- // ***
- log1.FatalFormat("a{0}b{1}c{2}", "1", "2", "3");
- Assert.AreEqual("FATAL:a1b2c3", stringAppender.GetString(), "Test formatted FATAL event with 3 parm");
- stringAppender.Reset();
-
-
- // ***
- log1.FatalFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
- Assert.AreEqual("FATAL:aQbWcEdReTf", stringAppender.GetString(), "Test formatted FATAL event with 5 parms (only 4 used)");
- stringAppender.Reset();
-
- // ***
- log1.FatalFormat(null, "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("FATAL:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
- stringAppender.Reset();
-
- // ***
- log1.FatalFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("FATAL:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
- stringAppender.Reset();
- }
-
- [Test]
- public void TestLogFormatApi_NoFatal()
- {
- StringAppender stringAppender = new StringAppender();
- stringAppender.Threshold = Level.Off;
- stringAppender.Layout = new PatternLayout("%level:%message");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- BasicConfigurator.Configure(rep, stringAppender);
-
- ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Fatal");
-
- // ***
- log1.Fatal("TestMessage");
- Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 1");
- stringAppender.Reset();
-
- // ***
- log1.Fatal("TestMessage", null);
- Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 2");
- stringAppender.Reset();
-
- // ***
- log1.Fatal("TestMessage", new Exception("Exception message"));
- Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 3");
- stringAppender.Reset();
-
- // ***
- log1.FatalFormat("a{0}", "1");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 1 parm");
- stringAppender.Reset();
-
- // ***
- log1.FatalFormat("a{0}b{1}", "1", "2");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 2 parm");
- stringAppender.Reset();
-
- // ***
- log1.FatalFormat("a{0}b{1}c{2}", "1", "2", "3");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 3 parm");
- stringAppender.Reset();
-
-
- // ***
- log1.FatalFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 5 parms (only 4 used)");
- stringAppender.Reset();
-
- // ***
- log1.FatalFormat(null, "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
- stringAppender.Reset();
-
- // ***
- log1.FatalFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
- Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
- stringAppender.Reset();
- }
- }
+#region Apache License
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to you under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+#endregion
+
+using System;
+using System.Globalization;
+
+using log4net.Config;
+using log4net.Core;
+using log4net.Layout;
+using log4net.Repository;
+using log4net.Tests.Appender;
+using log4net.Tests.Layout;
+
+using NUnit.Framework;
+
+namespace log4net.Tests.Core
+{
+ /// <summary>
+ /// Used for internal unit testing the <see cref="PatternLayoutTest"/> class.
+ /// </summary>
+ /// <remarks>
+ /// Used for internal unit testing the <see cref="PatternLayoutTest"/> class.
+ /// </remarks>
+ [TestFixture]
+ public class StringFormatTest
+ {
+ [Test]
+ public void TestFormatString()
+ {
+ StringAppender stringAppender = new StringAppender();
+ stringAppender.Layout = new PatternLayout("%message");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ BasicConfigurator.Configure(rep, stringAppender);
+
+ ILog log1 = LogManager.GetLogger(rep.Name, "TestFormatString");
+
+ // ***
+ log1.Info("TestMessage");
+ Assert.AreEqual("TestMessage", stringAppender.GetString(), "Test simple INFO event");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.DebugFormat("Before {0} After", "Middle");
+ Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted DEBUG event");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat("Before {0} After", "Middle");
+ Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted INFO event");
+ stringAppender.Reset();
+
+ // ***
+ log1.WarnFormat("Before {0} After", "Middle");
+ Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted WARN event");
+ stringAppender.Reset();
+
+ // ***
+ log1.ErrorFormat("Before {0} After", "Middle");
+ Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted ERROR event");
+ stringAppender.Reset();
+
+ // ***
+ log1.FatalFormat("Before {0} After", "Middle");
+ Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted FATAL event");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.InfoFormat("Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("Before Middle After End", stringAppender.GetString(), "Test simple formatted INFO event 2");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat("IGNORE THIS WARNING - EXCEPTION EXPECTED Before {0} After {1} {2}", "Middle", "End");
+ Assert.AreEqual(STRING_FORMAT_ERROR, stringAppender.GetString(), "Test formatting error");
+ stringAppender.Reset();
+ }
+
+ private const string STRING_FORMAT_ERROR = "<log4net.Error>Exception during StringFormat: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. <format>IGNORE THIS WARNING - EXCEPTION EXPECTED Before {0} After {1} {2}</format><args>{Middle, End}</args></log4net.Error>";
+
+
+ [Test]
+ public void TestLogFormatApi_Debug()
+ {
+ StringAppender stringAppender = new StringAppender();
+ stringAppender.Layout = new PatternLayout("%level:%message");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ BasicConfigurator.Configure(rep, stringAppender);
+
+ ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Debug");
+
+ // ***
+ log1.Debug("TestMessage");
+ Assert.AreEqual("DEBUG:TestMessage", stringAppender.GetString(), "Test simple DEBUG event 1");
+ stringAppender.Reset();
+
+ // ***
+ log1.Debug("TestMessage", null);
+ Assert.AreEqual("DEBUG:TestMessage", stringAppender.GetString(), "Test simple DEBUG event 2");
+ stringAppender.Reset();
+
+ // ***
+ log1.Debug("TestMessage", new Exception("Exception message"));
+ Assert.AreEqual("DEBUG:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple DEBUG event 3");
+ stringAppender.Reset();
+
+ // ***
+ log1.DebugFormat("a{0}", "1");
+ Assert.AreEqual("DEBUG:a1", stringAppender.GetString(), "Test formatted DEBUG event with 1 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.DebugFormat("a{0}b{1}", "1", "2");
+ Assert.AreEqual("DEBUG:a1b2", stringAppender.GetString(), "Test formatted DEBUG event with 2 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.DebugFormat("a{0}b{1}c{2}", "1", "2", "3");
+ Assert.AreEqual("DEBUG:a1b2c3", stringAppender.GetString(), "Test formatted DEBUG event with 3 parm");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.DebugFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+ Assert.AreEqual("DEBUG:aQbWcEdReTf", stringAppender.GetString(), "Test formatted DEBUG event with 5 parms (only 4 used)");
+ stringAppender.Reset();
+
+ // ***
+ log1.DebugFormat(null, "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("DEBUG:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
+ stringAppender.Reset();
+
+ // ***
+ log1.DebugFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("DEBUG:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
+ stringAppender.Reset();
+ }
+
+ [Test]
+ public void TestLogFormatApi_NoDebug()
+ {
+ StringAppender stringAppender = new StringAppender();
+ stringAppender.Threshold = Level.Info;
+ stringAppender.Layout = new PatternLayout("%level:%message");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ BasicConfigurator.Configure(rep, stringAppender);
+
+ ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Debug");
+
+ // ***
+ log1.Debug("TestMessage");
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 1");
+ stringAppender.Reset();
+
+ // ***
+ log1.Debug("TestMessage", null);
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 2");
+ stringAppender.Reset();
+
+ // ***
+ log1.Debug("TestMessage", new Exception("Exception message"));
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 3");
+ stringAppender.Reset();
+
+ // ***
+ log1.DebugFormat("a{0}", "1");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 1 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.DebugFormat("a{0}b{1}", "1", "2");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 2 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.DebugFormat("a{0}b{1}c{2}", "1", "2", "3");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 3 parm");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.DebugFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 5 parms (only 4 used)");
+ stringAppender.Reset();
+
+ // ***
+ log1.DebugFormat(null, "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
+ stringAppender.Reset();
+
+ // ***
+ log1.DebugFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
+ stringAppender.Reset();
+ }
+
+
+ [Test]
+ public void TestLogFormatApi_Info()
+ {
+ StringAppender stringAppender = new StringAppender();
+ stringAppender.Layout = new PatternLayout("%level:%message");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ BasicConfigurator.Configure(rep, stringAppender);
+
+ ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Info");
+
+ // ***
+ log1.Info("TestMessage");
+ Assert.AreEqual("INFO:TestMessage", stringAppender.GetString(), "Test simple INFO event 1");
+ stringAppender.Reset();
+
+ // ***
+ log1.Info("TestMessage", null);
+ Assert.AreEqual("INFO:TestMessage", stringAppender.GetString(), "Test simple INFO event 2");
+ stringAppender.Reset();
+
+ // ***
+ log1.Info("TestMessage", new Exception("Exception message"));
+ Assert.AreEqual("INFO:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple INFO event 3");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat("a{0}", "1");
+ Assert.AreEqual("INFO:a1", stringAppender.GetString(), "Test formatted INFO event with 1 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat("a{0}b{1}", "1", "2");
+ Assert.AreEqual("INFO:a1b2", stringAppender.GetString(), "Test formatted INFO event with 2 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat("a{0}b{1}c{2}", "1", "2", "3");
+ Assert.AreEqual("INFO:a1b2c3", stringAppender.GetString(), "Test formatted INFO event with 3 parm");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.InfoFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+ Assert.AreEqual("INFO:aQbWcEdReTf", stringAppender.GetString(), "Test formatted INFO event with 5 parms (only 4 used)");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat(null, "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("INFO:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("INFO:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
+ stringAppender.Reset();
+ }
+
+ [Test]
+ public void TestLogFormatApi_NoInfo()
+ {
+ StringAppender stringAppender = new StringAppender();
+ stringAppender.Threshold = Level.Warn;
+ stringAppender.Layout = new PatternLayout("%level:%message");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ BasicConfigurator.Configure(rep, stringAppender);
+
+ ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Info");
+
+ // ***
+ log1.Info("TestMessage");
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 1");
+ stringAppender.Reset();
+
+ // ***
+ log1.Info("TestMessage", null);
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 2");
+ stringAppender.Reset();
+
+ // ***
+ log1.Info("TestMessage", new Exception("Exception message"));
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 3");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat("a{0}", "1");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 1 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat("a{0}b{1}", "1", "2");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 2 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat("a{0}b{1}c{2}", "1", "2", "3");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 3 parm");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.InfoFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 5 parms (only 4 used)");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat(null, "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
+ stringAppender.Reset();
+
+ // ***
+ log1.InfoFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
+ stringAppender.Reset();
+ }
+
+
+ [Test]
+ public void TestLogFormatApi_Warn()
+ {
+ StringAppender stringAppender = new StringAppender();
+ stringAppender.Layout = new PatternLayout("%level:%message");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ BasicConfigurator.Configure(rep, stringAppender);
+
+ ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Warn");
+
+ // ***
+ log1.Warn("TestMessage");
+ Assert.AreEqual("WARN:TestMessage", stringAppender.GetString(), "Test simple WARN event 1");
+ stringAppender.Reset();
+
+ // ***
+ log1.Warn("TestMessage", null);
+ Assert.AreEqual("WARN:TestMessage", stringAppender.GetString(), "Test simple WARN event 2");
+ stringAppender.Reset();
+
+ // ***
+ log1.Warn("TestMessage", new Exception("Exception message"));
+ Assert.AreEqual("WARN:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple WARN event 3");
+ stringAppender.Reset();
+
+ // ***
+ log1.WarnFormat("a{0}", "1");
+ Assert.AreEqual("WARN:a1", stringAppender.GetString(), "Test formatted WARN event with 1 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.WarnFormat("a{0}b{1}", "1", "2");
+ Assert.AreEqual("WARN:a1b2", stringAppender.GetString(), "Test formatted WARN event with 2 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.WarnFormat("a{0}b{1}c{2}", "1", "2", "3");
+ Assert.AreEqual("WARN:a1b2c3", stringAppender.GetString(), "Test formatted WARN event with 3 parm");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.WarnFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+ Assert.AreEqual("WARN:aQbWcEdReTf", stringAppender.GetString(), "Test formatted WARN event with 5 parms (only 4 used)");
+ stringAppender.Reset();
+
+ // ***
+ log1.WarnFormat(null, "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("WARN:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
+ stringAppender.Reset();
+
+ // ***
+ log1.WarnFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("WARN:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
+ stringAppender.Reset();
+ }
+
+ [Test]
+ public void TestLogFormatApi_NoWarn()
+ {
+ StringAppender stringAppender = new StringAppender();
+ stringAppender.Threshold = Level.Error;
+ stringAppender.Layout = new PatternLayout("%level:%message");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ BasicConfigurator.Configure(rep, stringAppender);
+
+ ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Warn");
+
+ // ***
+ log1.Warn("TestMessage");
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 1");
+ stringAppender.Reset();
+
+ // ***
+ log1.Warn("TestMessage", null);
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 2");
+ stringAppender.Reset();
+
+ // ***
+ log1.Warn("TestMessage", new Exception("Exception message"));
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 3");
+ stringAppender.Reset();
+
+ // ***
+ log1.WarnFormat("a{0}", "1");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 1 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.WarnFormat("a{0}b{1}", "1", "2");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 2 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.WarnFormat("a{0}b{1}c{2}", "1", "2", "3");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 3 parm");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.WarnFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 5 parms (only 4 used)");
+ stringAppender.Reset();
+
+ // ***
+ log1.WarnFormat(null, "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
+ stringAppender.Reset();
+
+ // ***
+ log1.WarnFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
+ stringAppender.Reset();
+ }
+
+
+ [Test]
+ public void TestLogFormatApi_Error()
+ {
+ StringAppender stringAppender = new StringAppender();
+ stringAppender.Layout = new PatternLayout("%level:%message");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ BasicConfigurator.Configure(rep, stringAppender);
+
+ ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Error");
+
+ // ***
+ log1.Error("TestMessage");
+ Assert.AreEqual("ERROR:TestMessage", stringAppender.GetString(), "Test simple ERROR event 1");
+ stringAppender.Reset();
+
+ // ***
+ log1.Error("TestMessage", null);
+ Assert.AreEqual("ERROR:TestMessage", stringAppender.GetString(), "Test simple ERROR event 2");
+ stringAppender.Reset();
+
+ // ***
+ log1.Error("TestMessage", new Exception("Exception message"));
+ Assert.AreEqual("ERROR:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple ERROR event 3");
+ stringAppender.Reset();
+
+ // ***
+ log1.ErrorFormat("a{0}", "1");
+ Assert.AreEqual("ERROR:a1", stringAppender.GetString(), "Test formatted ERROR event with 1 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.ErrorFormat("a{0}b{1}", "1", "2");
+ Assert.AreEqual("ERROR:a1b2", stringAppender.GetString(), "Test formatted ERROR event with 2 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.ErrorFormat("a{0}b{1}c{2}", "1", "2", "3");
+ Assert.AreEqual("ERROR:a1b2c3", stringAppender.GetString(), "Test formatted ERROR event with 3 parm");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.ErrorFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+ Assert.AreEqual("ERROR:aQbWcEdReTf", stringAppender.GetString(), "Test formatted ERROR event with 5 parms (only 4 used)");
+ stringAppender.Reset();
+
+ // ***
+ log1.ErrorFormat(null, "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("ERROR:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
+ stringAppender.Reset();
+
+ // ***
+ log1.ErrorFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("ERROR:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
+ stringAppender.Reset();
+ }
+
+ [Test]
+ public void TestLogFormatApi_NoError()
+ {
+ StringAppender stringAppender = new StringAppender();
+ stringAppender.Threshold = Level.Fatal;
+ stringAppender.Layout = new PatternLayout("%level:%message");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ BasicConfigurator.Configure(rep, stringAppender);
+
+ ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Error");
+
+ // ***
+ log1.Error("TestMessage");
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 1");
+ stringAppender.Reset();
+
+ // ***
+ log1.Error("TestMessage", null);
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 2");
+ stringAppender.Reset();
+
+ // ***
+ log1.Error("TestMessage", new Exception("Exception message"));
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 3");
+ stringAppender.Reset();
+
+ // ***
+ log1.ErrorFormat("a{0}", "1");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 1 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.ErrorFormat("a{0}b{1}", "1", "2");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 2 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.ErrorFormat("a{0}b{1}c{2}", "1", "2", "3");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 3 parm");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.ErrorFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 5 parms (only 4 used)");
+ stringAppender.Reset();
+
+ // ***
+ log1.ErrorFormat(null, "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
+ stringAppender.Reset();
+
+ // ***
+ log1.ErrorFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
+ stringAppender.Reset();
+ }
+
+
+ [Test]
+ public void TestLogFormatApi_Fatal()
+ {
+ StringAppender stringAppender = new StringAppender();
+ stringAppender.Layout = new PatternLayout("%level:%message");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ BasicConfigurator.Configure(rep, stringAppender);
+
+ ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Fatal");
+
+ // ***
+ log1.Fatal("TestMessage");
+ Assert.AreEqual("FATAL:TestMessage", stringAppender.GetString(), "Test simple FATAL event 1");
+ stringAppender.Reset();
+
+ // ***
+ log1.Fatal("TestMessage", null);
+ Assert.AreEqual("FATAL:TestMessage", stringAppender.GetString(), "Test simple FATAL event 2");
+ stringAppender.Reset();
+
+ // ***
+ log1.Fatal("TestMessage", new Exception("Exception message"));
+ Assert.AreEqual("FATAL:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple FATAL event 3");
+ stringAppender.Reset();
+
+ // ***
+ log1.FatalFormat("a{0}", "1");
+ Assert.AreEqual("FATAL:a1", stringAppender.GetString(), "Test formatted FATAL event with 1 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.FatalFormat("a{0}b{1}", "1", "2");
+ Assert.AreEqual("FATAL:a1b2", stringAppender.GetString(), "Test formatted FATAL event with 2 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.FatalFormat("a{0}b{1}c{2}", "1", "2", "3");
+ Assert.AreEqual("FATAL:a1b2c3", stringAppender.GetString(), "Test formatted FATAL event with 3 parm");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.FatalFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+ Assert.AreEqual("FATAL:aQbWcEdReTf", stringAppender.GetString(), "Test formatted FATAL event with 5 parms (only 4 used)");
+ stringAppender.Reset();
+
+ // ***
+ log1.FatalFormat(null, "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("FATAL:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
+ stringAppender.Reset();
+
+ // ***
+ log1.FatalFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("FATAL:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
+ stringAppender.Reset();
+ }
+
+ [Test]
+ public void TestLogFormatApi_NoFatal()
+ {
+ StringAppender stringAppender = new StringAppender();
+ stringAppender.Threshold = Level.Off;
+ stringAppender.Layout = new PatternLayout("%level:%message");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ BasicConfigurator.Configure(rep, stringAppender);
+
+ ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Fatal");
+
+ // ***
+ log1.Fatal("TestMessage");
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 1");
+ stringAppender.Reset();
+
+ // ***
+ log1.Fatal("TestMessage", null);
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 2");
+ stringAppender.Reset();
+
+ // ***
+ log1.Fatal("TestMessage", new Exception("Exception message"));
+ Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 3");
+ stringAppender.Reset();
+
+ // ***
+ log1.FatalFormat("a{0}", "1");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 1 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.FatalFormat("a{0}b{1}", "1", "2");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 2 parm");
+ stringAppender.Reset();
+
+ // ***
+ log1.FatalFormat("a{0}b{1}c{2}", "1", "2", "3");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 3 parm");
+ stringAppender.Reset();
+
+
+ // ***
+ log1.FatalFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 5 parms (only 4 used)");
+ stringAppender.Reset();
+
+ // ***
+ log1.FatalFormat(null, "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
+ stringAppender.Reset();
+
+ // ***
+ log1.FatalFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+ Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
+ stringAppender.Reset();
+ }
+ }
}
\ No newline at end of file
Propchange: logging/log4net/trunk/tests/src/Core/StringFormatTest.cs
------------------------------------------------------------------------------
svn:eol-style = native
Modified: logging/log4net/trunk/tests/src/Filter/FilterTest.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Filter/FilterTest.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Filter/FilterTest.cs (original)
+++ logging/log4net/trunk/tests/src/Filter/FilterTest.cs Wed Aug 17 05:57:00 2011
@@ -1,90 +1,90 @@
-#if NET_2_0
-using System;
-using System.Collections.Generic;
-using System.Xml;
-using log4net.Appender;
-using log4net.Config;
-using log4net.Core;
-using log4net.Filter;
-using log4net.Repository;
-using NUnit.Framework;
-
-namespace log4net.Tests.Filter
-{
- [TestFixture]
- public class FilterTest
- {
- [Test]
- public void FilterConfigurationTest()
- {
- XmlDocument log4netConfig = new XmlDocument();
- #region Load log4netConfig
- log4netConfig.LoadXml(@"
- <log4net>
- <appender name=""MemoryAppender"" type=""log4net.Appender.MemoryAppender, log4net"">
- <filter type=""log4net.Tests.Filter.MultiplePropertyFilter, log4net.Tests"">
- <condition>
- <key value=""ABC"" />
- <stringToMatch value=""123"" />
- </condition>
- <condition>
- <key value=""DEF"" />
- <stringToMatch value=""456"" />
- </condition>
- </filter>
- </appender>
- <root>
- <level value=""ALL"" />
- <appender-ref ref=""MemoryAppender"" />
- </root>
- </log4net>");
- #endregion
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
-
- IAppender[] appenders = LogManager.GetRepository(rep.Name).GetAppenders();
- Assert.IsTrue(appenders.Length == 1);
-
- IAppender appender = Array.Find(appenders, a => a.Name == "MemoryAppender");
- Assert.IsNotNull(appender);
-
- MultiplePropertyFilter multiplePropertyFilter =
- ((AppenderSkeleton)appender).FilterHead as MultiplePropertyFilter;
-
- var conditions = multiplePropertyFilter.GetConditions();
- Assert.AreEqual(2, conditions.Length);
- Assert.AreEqual("ABC", conditions[0].Key);
- Assert.AreEqual("123", conditions[0].StringToMatch);
- Assert.AreEqual("DEF", conditions[1].Key);
- Assert.AreEqual("456", conditions[1].StringToMatch);
- }
- }
-
- public class MultiplePropertyFilter : FilterSkeleton
- {
- private readonly List<Condition> _conditions = new List<Condition>();
-
- public override FilterDecision Decide(LoggingEvent loggingEvent)
- {
- return FilterDecision.Accept;
- }
-
- public Condition[] GetConditions()
- {
- return _conditions.ToArray();
- }
-
- public void AddCondition(Condition condition)
- {
- _conditions.Add(condition);
- }
-
- public class Condition
- {
- public string Key { get; set; }
- public string StringToMatch { get; set; }
- }
- }
-}
-#endif
+#if NET_2_0
+using System;
+using System.Collections.Generic;
+using System.Xml;
+using log4net.Appender;
+using log4net.Config;
+using log4net.Core;
+using log4net.Filter;
+using log4net.Repository;
+using NUnit.Framework;
+
+namespace log4net.Tests.Filter
+{
+ [TestFixture]
+ public class FilterTest
+ {
+ [Test]
+ public void FilterConfigurationTest()
+ {
+ XmlDocument log4netConfig = new XmlDocument();
+ #region Load log4netConfig
+ log4netConfig.LoadXml(@"
+ <log4net>
+ <appender name=""MemoryAppender"" type=""log4net.Appender.MemoryAppender, log4net"">
+ <filter type=""log4net.Tests.Filter.MultiplePropertyFilter, log4net.Tests"">
+ <condition>
+ <key value=""ABC"" />
+ <stringToMatch value=""123"" />
+ </condition>
+ <condition>
+ <key value=""DEF"" />
+ <stringToMatch value=""456"" />
+ </condition>
+ </filter>
+ </appender>
+ <root>
+ <level value=""ALL"" />
+ <appender-ref ref=""MemoryAppender"" />
+ </root>
+ </log4net>");
+ #endregion
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
+
+ IAppender[] appenders = LogManager.GetRepository(rep.Name).GetAppenders();
+ Assert.IsTrue(appenders.Length == 1);
+
+ IAppender appender = Array.Find(appenders, a => a.Name == "MemoryAppender");
+ Assert.IsNotNull(appender);
+
+ MultiplePropertyFilter multiplePropertyFilter =
+ ((AppenderSkeleton)appender).FilterHead as MultiplePropertyFilter;
+
+ var conditions = multiplePropertyFilter.GetConditions();
+ Assert.AreEqual(2, conditions.Length);
+ Assert.AreEqual("ABC", conditions[0].Key);
+ Assert.AreEqual("123", conditions[0].StringToMatch);
+ Assert.AreEqual("DEF", conditions[1].Key);
+ Assert.AreEqual("456", conditions[1].StringToMatch);
+ }
+ }
+
+ public class MultiplePropertyFilter : FilterSkeleton
+ {
+ private readonly List<Condition> _conditions = new List<Condition>();
+
+ public override FilterDecision Decide(LoggingEvent loggingEvent)
+ {
+ return FilterDecision.Accept;
+ }
+
+ public Condition[] GetConditions()
+ {
+ return _conditions.ToArray();
+ }
+
+ public void AddCondition(Condition condition)
+ {
+ _conditions.Add(condition);
+ }
+
+ public class Condition
+ {
+ public string Key { get; set; }
+ public string StringToMatch { get; set; }
+ }
+ }
+}
+#endif
Propchange: logging/log4net/trunk/tests/src/Filter/FilterTest.cs
------------------------------------------------------------------------------
svn:eol-style = native
Modified: logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs (original)
+++ logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs Wed Aug 17 05:57:00 2011
@@ -1,76 +1,76 @@
-using System;
-using System.Xml;
-using log4net.Config;
-using log4net.Core;
-using log4net.Repository;
-using log4net.Repository.Hierarchy;
-using log4net.Tests.Appender;
-using NUnit.Framework;
-
-namespace log4net.Tests.Hierarchy
-{
- [TestFixture]
- public class Hierarchy
- {
- [Test]
- public void SetRepositoryPropertiesInConfigFile()
- {
- // LOG4NET-53: Allow repository properties to be set in the config file
- XmlDocument log4netConfig = new XmlDocument();
- log4netConfig.LoadXml(@"
- <log4net>
- <property>
- <key value=""two-plus-two"" />
- <value value=""4"" />
- </property>
- <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
- <layout type=""log4net.Layout.SimpleLayout"" />
- </appender>
- <root>
- <level value=""ALL"" />
- <appender-ref ref=""StringAppender"" />
- </root>
- </log4net>");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
-
- Assert.AreEqual("4", rep.Properties["two-plus-two"]);
- Assert.IsNull(rep.Properties["one-plus-one"]);
- }
-
- [Test]
- public void AddingMultipleAppenders()
- {
- CountingAppender alpha = new CountingAppender();
- CountingAppender beta = new CountingAppender();
-
- Repository.Hierarchy.Hierarchy hierarchy =
- (Repository.Hierarchy.Hierarchy)LogManager.GetRepository();
- hierarchy.Root.AddAppender(alpha);
- hierarchy.Root.AddAppender(beta);
- hierarchy.Configured = true;
-
- ILog log = LogManager.GetLogger(GetType());
- log.Debug("Hello World");
-
- Assert.AreEqual(1, alpha.Counter);
- Assert.AreEqual(1, beta.Counter);
- }
-
- [Test]
- public void AddingMultipleAppenders2()
- {
- CountingAppender alpha = new CountingAppender();
- CountingAppender beta = new CountingAppender();
-
- BasicConfigurator.Configure(alpha, beta);
-
- ILog log = LogManager.GetLogger(GetType());
- log.Debug("Hello World");
-
- Assert.AreEqual(1, alpha.Counter);
- Assert.AreEqual(1, beta.Counter);
- }
- }
-}
+using System;
+using System.Xml;
+using log4net.Config;
+using log4net.Core;
+using log4net.Repository;
+using log4net.Repository.Hierarchy;
+using log4net.Tests.Appender;
+using NUnit.Framework;
+
+namespace log4net.Tests.Hierarchy
+{
+ [TestFixture]
+ public class Hierarchy
+ {
+ [Test]
+ public void SetRepositoryPropertiesInConfigFile()
+ {
+ // LOG4NET-53: Allow repository properties to be set in the config file
+ XmlDocument log4netConfig = new XmlDocument();
+ log4netConfig.LoadXml(@"
+ <log4net>
+ <property>
+ <key value=""two-plus-two"" />
+ <value value=""4"" />
+ </property>
+ <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
+ <layout type=""log4net.Layout.SimpleLayout"" />
+ </appender>
+ <root>
+ <level value=""ALL"" />
+ <appender-ref ref=""StringAppender"" />
+ </root>
+ </log4net>");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
+
+ Assert.AreEqual("4", rep.Properties["two-plus-two"]);
+ Assert.IsNull(rep.Properties["one-plus-one"]);
+ }
+
+ [Test]
+ public void AddingMultipleAppenders()
+ {
+ CountingAppender alpha = new CountingAppender();
+ CountingAppender beta = new CountingAppender();
+
+ Repository.Hierarchy.Hierarchy hierarchy =
+ (Repository.Hierarchy.Hierarchy)LogManager.GetRepository();
+ hierarchy.Root.AddAppender(alpha);
+ hierarchy.Root.AddAppender(beta);
+ hierarchy.Configured = true;
+
+ ILog log = LogManager.GetLogger(GetType());
+ log.Debug("Hello World");
+
+ Assert.AreEqual(1, alpha.Counter);
+ Assert.AreEqual(1, beta.Counter);
+ }
+
+ [Test]
+ public void AddingMultipleAppenders2()
+ {
+ CountingAppender alpha = new CountingAppender();
+ CountingAppender beta = new CountingAppender();
+
+ BasicConfigurator.Configure(alpha, beta);
+
+ ILog log = LogManager.GetLogger(GetType());
+ log.Debug("Hello World");
+
+ Assert.AreEqual(1, alpha.Counter);
+ Assert.AreEqual(1, beta.Counter);
+ }
+ }
+}
Propchange: logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs
------------------------------------------------------------------------------
svn:eol-style = native
Modified: logging/log4net/trunk/tests/src/LoggerRepository/ConfigurationMessages.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/LoggerRepository/ConfigurationMessages.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/LoggerRepository/ConfigurationMessages.cs (original)
+++ logging/log4net/trunk/tests/src/LoggerRepository/ConfigurationMessages.cs Wed Aug 17 05:57:00 2011
@@ -1,74 +1,74 @@
-using System;
-using System.Collections;
-using System.Xml;
-using log4net.Appender;
-using log4net.Config;
-using log4net.Core;
-using log4net.Repository;
-using log4net.Util;
-using NUnit.Framework;
-
-namespace log4net.Tests.LoggerRepository
-{
- [TestFixture]
- public class ConfigurationMessages
- {
- [Test]
- public void ConfigurationMessagesTest()
- {
- LogLog.EmitInternalMessages = false;
- LogLog.InternalDebugging = true;
-
- XmlDocument log4netConfig = new XmlDocument();
- log4netConfig.LoadXml(@"
- <log4net>
- <appender name=""LogLogAppender"" type=""log4net.Tests.LoggerRepository.LogLogAppender, log4net.Tests"">
- <layout type=""log4net.Layout.SimpleLayout"" />
- </appender>
- <appender name=""MemoryAppender"" type=""log4net.Appender.MemoryAppender"">
- <layout type=""log4net.Layout.SimpleLayout"" />
- </appender>
- <root>
- <level value=""ALL"" />
- <appender-ref ref=""LogLogAppender"" />
- <appender-ref ref=""MemoryAppender"" />
- </root>
- </log4net>");
-
- ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
- rep.ConfigurationChanged += new LoggerRepositoryConfigurationChangedEventHandler(rep_ConfigurationChanged);
-
- ICollection configurationMessages = XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
-
- Assert.IsTrue(configurationMessages.Count > 0);
- }
-
- static void rep_ConfigurationChanged(object sender, EventArgs e)
- {
- ConfigurationChangedEventArgs configChanged = (ConfigurationChangedEventArgs)e;
-
- Assert.IsTrue(configChanged.ConfigurationMessages.Count > 0);
- }
- }
-
- public class LogLogAppender : AppenderSkeleton
- {
- private readonly static Type declaringType = typeof(LogLogAppender);
-
- public override void ActivateOptions()
- {
- LogLog.Debug(declaringType, "Debug - Activating options...");
- LogLog.Warn(declaringType, "Warn - Activating options...");
- LogLog.Error(declaringType, "Error - Activating options...");
-
- base.ActivateOptions();
- }
-
- protected override void Append(LoggingEvent loggingEvent)
- {
- LogLog.Debug(declaringType, "Debug - Appending...");
- LogLog.Warn(declaringType, "Warn - Appending...");
- LogLog.Error(declaringType, "Error - Appending...");
- }
- }
+using System;
+using System.Collections;
+using System.Xml;
+using log4net.Appender;
+using log4net.Config;
+using log4net.Core;
+using log4net.Repository;
+using log4net.Util;
+using NUnit.Framework;
+
+namespace log4net.Tests.LoggerRepository
+{
+ [TestFixture]
+ public class ConfigurationMessages
+ {
+ [Test]
+ public void ConfigurationMessagesTest()
+ {
+ LogLog.EmitInternalMessages = false;
+ LogLog.InternalDebugging = true;
+
+ XmlDocument log4netConfig = new XmlDocument();
+ log4netConfig.LoadXml(@"
+ <log4net>
+ <appender name=""LogLogAppender"" type=""log4net.Tests.LoggerRepository.LogLogAppender, log4net.Tests"">
+ <layout type=""log4net.Layout.SimpleLayout"" />
+ </appender>
+ <appender name=""MemoryAppender"" type=""log4net.Appender.MemoryAppender"">
+ <layout type=""log4net.Layout.SimpleLayout"" />
+ </appender>
+ <root>
+ <level value=""ALL"" />
+ <appender-ref ref=""LogLogAppender"" />
+ <appender-ref ref=""MemoryAppender"" />
+ </root>
+ </log4net>");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ rep.ConfigurationChanged += new LoggerRepositoryConfigurationChangedEventHandler(rep_ConfigurationChanged);
+
+ ICollection configurationMessages = XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
+
+ Assert.IsTrue(configurationMessages.Count > 0);
+ }
+
+ static void rep_ConfigurationChanged(object sender, EventArgs e)
+ {
+ ConfigurationChangedEventArgs configChanged = (ConfigurationChangedEventArgs)e;
+
+ Assert.IsTrue(configChanged.ConfigurationMessages.Count > 0);
+ }
+ }
+
+ public class LogLogAppender : AppenderSkeleton
+ {
+ private readonly static Type declaringType = typeof(LogLogAppender);
+
+ public override void ActivateOptions()
+ {
+ LogLog.Debug(declaringType, "Debug - Activating options...");
+ LogLog.Warn(declaringType, "Warn - Activating options...");
+ LogLog.Error(declaringType, "Error - Activating options...");
+
+ base.ActivateOptions();
+ }
+
+ protected override void Append(LoggingEvent loggingEvent)
+ {
+ LogLog.Debug(declaringType, "Debug - Appending...");
+ LogLog.Warn(declaringType, "Warn - Appending...");
+ LogLog.Error(declaringType, "Error - Appending...");
+ }
+ }
}
\ No newline at end of file
Propchange: logging/log4net/trunk/tests/src/LoggerRepository/ConfigurationMessages.cs
------------------------------------------------------------------------------
svn:eol-style = native
Modified: logging/log4net/trunk/tests/src/Util/EnvironmentPatternConverterTest.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Util/EnvironmentPatternConverterTest.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Util/EnvironmentPatternConverterTest.cs (original)
+++ logging/log4net/trunk/tests/src/Util/EnvironmentPatternConverterTest.cs Wed Aug 17 05:57:00 2011
@@ -1,91 +1,91 @@
-// .NET Compact Framework 1.0 has no support for Environment.GetEnvironmentVariable()
-// .NET Framework version 1.0 / 1.1 do not have support for SetEnvironmentVariable which is used in these tests.
-#if !NETCF && NET_2_0
-
-using System;
-using System.IO;
-using System.Text;
-using NUnit.Framework;
-
-namespace log4net.Tests.Util
-{
- [TestFixture]
- public class EnvironmentPatternConverterTest
- {
- private const string ENVIRONMENT_VARIABLE_NAME = "LOG4NET_TEST_TEMP";
- const string SYSTEM_LEVEL_VALUE = "SystemLevelEnvironmentValue";
- const string USER_LEVEL_VALUE = "UserLevelEnvironmentValue";
- const string PROCESS_LEVEL_VALUE = "ProcessLevelEnvironmentValue";
-
- [Test]
- public void SystemLevelEnvironmentVariable()
- {
- EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
- Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, SYSTEM_LEVEL_VALUE, EnvironmentVariableTarget.Machine);
-
- converter.Option = ENVIRONMENT_VARIABLE_NAME;
-
- StringWriter sw = new StringWriter();
- converter.Convert(sw, null);
-
- Assert.AreEqual(SYSTEM_LEVEL_VALUE, sw.ToString(), "System level environment variable not expended correctly.");
-
- Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.Machine);
- }
-
- [Test]
- public void UserLevelEnvironmentVariable()
- {
- EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
- Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, USER_LEVEL_VALUE, EnvironmentVariableTarget.User);
-
- converter.Option = ENVIRONMENT_VARIABLE_NAME;
-
- StringWriter sw = new StringWriter();
- converter.Convert(sw, null);
-
- Assert.AreEqual(USER_LEVEL_VALUE, sw.ToString(), "User level environment variable not expended correctly.");
-
- Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.User);
- }
-
- [Test]
- public void ProcessLevelEnvironmentVariable()
- {
- EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
- Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, PROCESS_LEVEL_VALUE);
-
- converter.Option = ENVIRONMENT_VARIABLE_NAME;
-
- StringWriter sw = new StringWriter();
- converter.Convert(sw, null);
-
- Assert.AreEqual(PROCESS_LEVEL_VALUE, sw.ToString(), "Process level environment variable not expended correctly.");
-
- Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null);
- }
-
- private class EnvironmentPatternConverter
- {
- private object target = null;
-
- public EnvironmentPatternConverter()
- {
- target = Utils.CreateInstance("log4net.Util.PatternStringConverters.EnvironmentPatternConverter,log4net");
- }
-
- public string Option
- {
- get { return Utils.GetProperty(target, "Option") as string; }
- set { Utils.SetProperty(target, "Option", value); }
- }
-
- public void Convert(TextWriter writer, object state)
- {
- Utils.InvokeMethod(target, "Convert", writer, state);
- }
- }
- }
-}
-
-#endif
+// .NET Compact Framework 1.0 has no support for Environment.GetEnvironmentVariable()
+// .NET Framework version 1.0 / 1.1 do not have support for SetEnvironmentVariable which is used in these tests.
+#if !NETCF && NET_2_0
+
+using System;
+using System.IO;
+using System.Text;
+using NUnit.Framework;
+
+namespace log4net.Tests.Util
+{
+ [TestFixture]
+ public class EnvironmentPatternConverterTest
+ {
+ private const string ENVIRONMENT_VARIABLE_NAME = "LOG4NET_TEST_TEMP";
+ const string SYSTEM_LEVEL_VALUE = "SystemLevelEnvironmentValue";
+ const string USER_LEVEL_VALUE = "UserLevelEnvironmentValue";
+ const string PROCESS_LEVEL_VALUE = "ProcessLevelEnvironmentValue";
+
+ [Test]
+ public void SystemLevelEnvironmentVariable()
+ {
+ EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
+ Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, SYSTEM_LEVEL_VALUE, EnvironmentVariableTarget.Machine);
+
+ converter.Option = ENVIRONMENT_VARIABLE_NAME;
+
+ StringWriter sw = new StringWriter();
+ converter.Convert(sw, null);
+
+ Assert.AreEqual(SYSTEM_LEVEL_VALUE, sw.ToString(), "System level environment variable not expended correctly.");
+
+ Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.Machine);
+ }
+
+ [Test]
+ public void UserLevelEnvironmentVariable()
+ {
+ EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
+ Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, USER_LEVEL_VALUE, EnvironmentVariableTarget.User);
+
+ converter.Option = ENVIRONMENT_VARIABLE_NAME;
+
+ StringWriter sw = new StringWriter();
+ converter.Convert(sw, null);
+
+ Assert.AreEqual(USER_LEVEL_VALUE, sw.ToString(), "User level environment variable not expended correctly.");
+
+ Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.User);
+ }
+
+ [Test]
+ public void ProcessLevelEnvironmentVariable()
+ {
+ EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
+ Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, PROCESS_LEVEL_VALUE);
+
+ converter.Option = ENVIRONMENT_VARIABLE_NAME;
+
+ StringWriter sw = new StringWriter();
+ converter.Convert(sw, null);
+
+ Assert.AreEqual(PROCESS_LEVEL_VALUE, sw.ToString(), "Process level environment variable not expended correctly.");
+
+ Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null);
+ }
+
+ private class EnvironmentPatternConverter
+ {
+ private object target = null;
+
+ public EnvironmentPatternConverter()
+ {
+ target = Utils.CreateInstance("log4net.Util.PatternStringConverters.EnvironmentPatternConverter,log4net");
+ }
+
+ public string Option
+ {
+ get { return Utils.GetProperty(target, "Option") as string; }
+ set { Utils.SetProperty(target, "Option", value); }
+ }
+
+ public void Convert(TextWriter writer, object state)
+ {
+ Utils.InvokeMethod(target, "Convert", writer, state);
+ }
+ }
+ }
+}
+
+#endif
Propchange: logging/log4net/trunk/tests/src/Util/EnvironmentPatternConverterTest.cs
------------------------------------------------------------------------------
svn:eol-style = native
Modified: logging/log4net/trunk/tests/src/Util/LogLogTest.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Util/LogLogTest.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Util/LogLogTest.cs (original)
+++ logging/log4net/trunk/tests/src/Util/LogLogTest.cs Wed Aug 17 05:57:00 2011
@@ -1,83 +1,83 @@
-using System.Collections;
-using System.Diagnostics;
-using log4net.Util;
-using NUnit.Framework;
-
-namespace log4net.Tests.Util
-{
- [TestFixture]
- public class LogLogTest
- {
- [Test]
- public void TraceListenerCounterTest()
- {
- TraceListenerCounter listTraceListener = new TraceListenerCounter();
-
- Trace.Listeners.Clear();
- Trace.Listeners.Add(listTraceListener);
-
- Trace.Write("Hello");
- Trace.Write("World");
-
- Assert.AreEqual(2, listTraceListener.Count);
- }
-
- [Test]
- public void EmitInternalMessages()
- {
- TraceListenerCounter listTraceListener = new TraceListenerCounter();
- Trace.Listeners.Clear();
- Trace.Listeners.Add(listTraceListener);
- LogLog.Error(GetType(), "Hello");
- LogLog.Error(GetType(), "World");
- Trace.Flush();
- Assert.AreEqual(2, listTraceListener.Count);
-
- LogLog.EmitInternalMessages = false;
-
- LogLog.Error(GetType(), "Hello");
- LogLog.Error(GetType(), "World");
- Assert.AreEqual(2, listTraceListener.Count);
- }
-
- [Test]
- public void LogReceivedAdapter()
- {
- ArrayList messages = new ArrayList();
-
- using (new LogLog.LogReceivedAdapter(messages))
- {
- LogLog.Debug(GetType(), "Won't be recorded");
- LogLog.Error(GetType(), "This will be recorded.");
- LogLog.Error(GetType(), "This will be recorded.");
- }
-
- Assert.AreEqual(2, messages.Count);
- }
- }
-
- public class TraceListenerCounter : TraceListener
- {
- private int count = 0;
-
- public override void Write(string message)
- {
- count++;
- }
-
- public override void WriteLine(string message)
- {
- Write(message);
- }
-
- public void Reset()
- {
- count = 0;
- }
-
- public int Count
- {
- get { return count; }
- }
- }
+using System.Collections;
+using System.Diagnostics;
+using log4net.Util;
+using NUnit.Framework;
+
+namespace log4net.Tests.Util
+{
+ [TestFixture]
+ public class LogLogTest
+ {
+ [Test]
+ public void TraceListenerCounterTest()
+ {
+ TraceListenerCounter listTraceListener = new TraceListenerCounter();
+
+ Trace.Listeners.Clear();
+ Trace.Listeners.Add(listTraceListener);
+
+ Trace.Write("Hello");
+ Trace.Write("World");
+
+ Assert.AreEqual(2, listTraceListener.Count);
+ }
+
+ [Test]
+ public void EmitInternalMessages()
+ {
+ TraceListenerCounter listTraceListener = new TraceListenerCounter();
+ Trace.Listeners.Clear();
+ Trace.Listeners.Add(listTraceListener);
+ LogLog.Error(GetType(), "Hello");
+ LogLog.Error(GetType(), "World");
+ Trace.Flush();
+ Assert.AreEqual(2, listTraceListener.Count);
+
+ LogLog.EmitInternalMessages = false;
+
+ LogLog.Error(GetType(), "Hello");
+ LogLog.Error(GetType(), "World");
+ Assert.AreEqual(2, listTraceListener.Count);
+ }
+
+ [Test]
+ public void LogReceivedAdapter()
+ {
+ ArrayList messages = new ArrayList();
+
+ using (new LogLog.LogReceivedAdapter(messages))
+ {
+ LogLog.Debug(GetType(), "Won't be recorded");
+ LogLog.Error(GetType(), "This will be recorded.");
+ LogLog.Error(GetType(), "This will be recorded.");
+ }
+
+ Assert.AreEqual(2, messages.Count);
+ }
+ }
+
+ public class TraceListenerCounter : TraceListener
+ {
+ private int count = 0;
+
+ public override void Write(string message)
+ {
+ count++;
+ }
+
+ public override void WriteLine(string message)
+ {
+ Write(message);
+ }
+
+ public void Reset()
+ {
+ count = 0;
+ }
+
+ public int Count
+ {
+ get { return count; }
+ }
+ }
}
\ No newline at end of file
Propchange: logging/log4net/trunk/tests/src/Util/LogLogTest.cs
------------------------------------------------------------------------------
svn:eol-style = native