/// <summary> /// Add an appender X, Y, remove X and check if Y is the only /// remaining appender. /// </summary> [Test] public void TestAppender2() { CountingAppender a1 = new CountingAppender(); a1.Name = "testAppender2.1"; CountingAppender a2 = new CountingAppender(); a2.Name = "testAppender2.2"; log = LogManager.GetLogger("test").Logger as Logger; log.AddAppender(a1); log.AddAppender(a2); CountingAppender aHat = (CountingAppender)log.GetAppender(a1.Name); Assertion.AssertEquals(a1, aHat); aHat = (CountingAppender)log.GetAppender(a2.Name); Assertion.AssertEquals(a2, aHat); log.RemoveAppender("testAppender2.1"); IEnumerator enumAppenders = log.Appenders.GetEnumerator(); Assertion.Assert(enumAppenders.MoveNext()); aHat = (CountingAppender)enumAppenders.Current; Assertion.AssertEquals(a2, aHat); Assertion.Assert(!enumAppenders.MoveNext()); aHat = (CountingAppender)log.GetAppender(a2.Name); Assertion.AssertEquals(a2, aHat); }
//public static void AddAppender(string appenderName, ILogger wLogger) //{ // log4net.Repository.Hierarchy.Logger l = (log4net.Repository.Hierarchy.Logger)wLogger; // log4net.Appender.IAppender hasAppender = l.GetAppender(appenderName); // if (hasAppender != null) // { // hasAppender..ActivateOptions(); // l.AddAppender(hasAppender); // } //} public static void AddAppender(string appenderName, ILogger wLogger) { string filename = ConfigurationManager.AppSettings["LogDir"].ToString() + "\\" + appenderName + ".log"; log4net.Repository.Hierarchy.Logger l = (log4net.Repository.Hierarchy.Logger)wLogger; log4net.Appender.IAppender hasAppender = l.GetAppender(appenderName); if (hasAppender == null) { log4net.Appender.RollingFileAppender appender = new log4net.Appender.RollingFileAppender(); appender.DatePattern = "yyyyMMdd"; appender.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Date; appender.AppendToFile = true; appender.File = filename; appender.StaticLogFileName = true; appender.Name = appenderName; log4net.Layout.PatternLayout layout = new log4net.Layout.PatternLayout(); layout.ConversionPattern = "%date [%thread] %-5level %logger - %message%newline"; layout.ActivateOptions(); appender.Layout = layout; appender.ActivateOptions(); l.AddAppender(appender); } }
/// <summary> /// Add an appender X, Y, remove X and check if Y is the only /// remaining appender. /// </summary> [Test] public void TestAppender2() { CountingAppender a1 = new CountingAppender(); a1.Name = "testAppender2.1"; CountingAppender a2 = new CountingAppender(); a2.Name = "testAppender2.2"; log = LogManager.GetLogger("test").Logger as Logger; log.AddAppender(a1); log.AddAppender(a2); CountingAppender aHat = (CountingAppender)log.GetAppender(a1.Name); Assert.AreEqual(a1, aHat); aHat = (CountingAppender)log.GetAppender(a2.Name); Assert.AreEqual(a2, aHat); log.RemoveAppender("testAppender2.1"); IEnumerator enumAppenders = ((IEnumerable)log.Appenders).GetEnumerator(); Assert.IsTrue( enumAppenders.MoveNext() ); aHat = (CountingAppender) enumAppenders.Current; Assert.AreEqual(a2, aHat); Assert.IsTrue(!enumAppenders.MoveNext()); aHat = (CountingAppender)log.GetAppender(a2.Name); Assert.AreEqual(a2, aHat); }