/// <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);
            }
Example #2
0
        //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);
            }
        }
Example #3
0
		/// <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);	
		}