You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by bo...@apache.org on 2012/06/02 21:16:35 UTC
svn commit: r1345560 - in /logging/log4net/trunk:
src/Repository/Hierarchy/Hierarchy.cs tests/src/Hierarchy/Hierarchy.cs
Author: bodewig
Date: Sat Jun 2 19:16:35 2012
New Revision: 1345560
URL: http://svn.apache.org/viewvc?rev=1345560&view=rev
Log:
LOG4NET-343 exception if logger name is '.'
Modified:
logging/log4net/trunk/src/Repository/Hierarchy/Hierarchy.cs
logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs
Modified: logging/log4net/trunk/src/Repository/Hierarchy/Hierarchy.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/src/Repository/Hierarchy/Hierarchy.cs?rev=1345560&r1=1345559&r2=1345560&view=diff
==============================================================================
--- logging/log4net/trunk/src/Repository/Hierarchy/Hierarchy.cs (original)
+++ logging/log4net/trunk/src/Repository/Hierarchy/Hierarchy.cs Sat Jun 2 19:16:35 2012
@@ -866,7 +866,12 @@ namespace log4net.Repository.Hierarchy
LogLog.Error(declaringType, "Unexpected object type ["+node.GetType()+"] in ht.", new LogException());
}
}
- }
+ }
+ if (i == 0) {
+ // logger name starts with a dot
+ // and we've hit the start
+ break;
+ }
}
// If we could not find any existing parents, then link with root.
Modified: logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs?rev=1345560&r1=1345559&r2=1345560&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs (original)
+++ logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs Sat Jun 2 19:16:35 2012
@@ -48,9 +48,9 @@ namespace log4net.Tests.Hierarchy
<layout type=""log4net.Layout.SimpleLayout"" />
</appender>
<root>
- <level value=""ALL"" />
+ <level value=""ALL"" />
<appender-ref ref=""StringAppender"" />
- </root>
+ </root>
</log4net>");
ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
@@ -84,7 +84,7 @@ namespace log4net.Tests.Hierarchy
{
CountingAppender alpha = new CountingAppender();
CountingAppender beta = new CountingAppender();
-
+
BasicConfigurator.Configure(alpha, beta);
ILog log = LogManager.GetLogger(GetType());
@@ -93,5 +93,72 @@ namespace log4net.Tests.Hierarchy
Assert.AreEqual(1, alpha.Counter);
Assert.AreEqual(1, beta.Counter);
}
+
+ [Test]
+ // LOG4NET-343
+ public void LoggerNameCanConsistOfASingleDot()
+ {
+ XmlDocument log4netConfig = new XmlDocument();
+ log4netConfig.LoadXml(@"
+ <log4net>
+ <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>
+ <logger name=""."">
+ <level value=""WARN"" />
+ </logger>
+ </log4net>");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
+ }
+
+ [Test]
+ public void LoggerNameCanConsistOfASingleNonDot()
+ {
+ XmlDocument log4netConfig = new XmlDocument();
+ log4netConfig.LoadXml(@"
+ <log4net>
+ <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>
+ <logger name=""L"">
+ <level value=""WARN"" />
+ </logger>
+ </log4net>");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
+ }
+
+ [Test]
+ public void LoggerNameCanContainSequenceOfDots()
+ {
+ XmlDocument log4netConfig = new XmlDocument();
+ log4netConfig.LoadXml(@"
+ <log4net>
+ <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>
+ <logger name=""L..M"">
+ <level value=""WARN"" />
+ </logger>
+ </log4net>");
+
+ ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+ XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
+ }
}
}