Implements an Appender for test purposes that counts the number of output calls to Append.
This appender is used in the unit tests.
Inheritance: log4net.Appender.AppenderSkeleton
コード例 #1
0
ファイル: Logger.cs プロジェクト: kevinswarner/Hover_OLD
		/// <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);	
		}
コード例 #2
0
ファイル: Logger.cs プロジェクト: kevinswarner/Hover_OLD
		/// <summary>
		/// Add an appender and see if it can be retrieved.
		/// </summary>
		[Test] public void TestAppender1() 
		{
			log = LogManager.GetLogger("test").Logger as Logger;
			CountingAppender a1 = new CountingAppender();
			a1.Name = "testAppender1";			 
			log.AddAppender(a1);
		
			IEnumerator enumAppenders = ((IEnumerable)log.Appenders).GetEnumerator();
			Assert.IsTrue( enumAppenders.MoveNext() );
			CountingAppender aHat = (CountingAppender) enumAppenders.Current;	
			Assert.AreEqual(a1, aHat);	
		}
コード例 #3
0
ファイル: Hierarchy.cs プロジェクト: aurora-sim/Aurora-Libs
        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);
        }
コード例 #4
0
ファイル: Hierarchy.cs プロジェクト: aurora-sim/Aurora-Libs
        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);
        }
コード例 #5
0
        private void SetupRepository()
        {
            m_hierarchy = new Repository.Hierarchy.Hierarchy();

            m_countingAppender = new CountingAppender();
            m_countingAppender.ActivateOptions();

            m_bufferingForwardingAppender = new BufferingForwardingAppender();
            m_bufferingForwardingAppender.AddAppender(m_countingAppender);

            m_bufferingForwardingAppender.BufferSize = 0;
            m_bufferingForwardingAppender.ClearFilters();
            m_bufferingForwardingAppender.Evaluator      = null;
            m_bufferingForwardingAppender.Fix            = FixFlags.Partial;
            m_bufferingForwardingAppender.Lossy          = false;
            m_bufferingForwardingAppender.LossyEvaluator = null;
            m_bufferingForwardingAppender.Threshold      = Level.All;

            m_bufferingForwardingAppender.ActivateOptions();

            log4net.Config.BasicConfigurator.Configure(m_hierarchy, m_bufferingForwardingAppender);
        }
コード例 #6
0
ファイル: Logger.cs プロジェクト: kevinswarner/Hover_OLD
		/// <summary>
		/// Test the ability to disable a level of message
		/// </summary>
		[Test] public void TestDisable1() 
		{
			CountingAppender caRoot = new CountingAppender();
			Logger root = ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root;	
			root.AddAppender(caRoot);

			log4net.Repository.Hierarchy.Hierarchy h = ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository());
			h.Threshold = Level.Info;
			h.Configured = true;

			Assert.AreEqual(caRoot.Counter, 0);	 

			root.Log(Level.Debug, MSG, null); Assert.AreEqual(caRoot.Counter, 0);  
			root.Log(Level.Info, MSG, null); Assert.AreEqual(caRoot.Counter, 1);  
			root.Log(Level.Warn, MSG, null); Assert.AreEqual(caRoot.Counter, 2);  
			root.Log(Level.Warn, MSG, null); Assert.AreEqual(caRoot.Counter, 3);  

			h.Threshold = Level.Warn;
			root.Log(Level.Debug, MSG, null); Assert.AreEqual(caRoot.Counter, 3);  
			root.Log(Level.Info, MSG, null); Assert.AreEqual(caRoot.Counter, 3);  
			root.Log(Level.Warn, MSG, null); Assert.AreEqual(caRoot.Counter, 4);  
			root.Log(Level.Error, MSG, null); Assert.AreEqual(caRoot.Counter, 5);  
			root.Log(Level.Error, MSG, null); Assert.AreEqual(caRoot.Counter, 6);  

			h.Threshold = Level.Off;
			root.Log(Level.Debug, MSG, null); Assert.AreEqual(caRoot.Counter, 6);  
			root.Log(Level.Info, MSG, null); Assert.AreEqual(caRoot.Counter, 6);  
			root.Log(Level.Warn, MSG, null); Assert.AreEqual(caRoot.Counter, 6);  
			root.Log(Level.Error, MSG, null); Assert.AreEqual(caRoot.Counter, 6);  
			root.Log(Level.Fatal, MSG, null); Assert.AreEqual(caRoot.Counter, 6);  
			root.Log(Level.Fatal, MSG, null); Assert.AreEqual(caRoot.Counter, 6);  
		}
コード例 #7
0
ファイル: Logger.cs プロジェクト: kevinswarner/Hover_OLD
		/// <summary>
		/// Test additivity flag.
		/// </summary>
		[Test] public void TestAdditivity3() 
		{
			Logger root = ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root;	
			Logger a = LogManager.GetLogger("a").Logger as Logger;
			Logger ab = LogManager.GetLogger("a.b").Logger as Logger;
			Logger abc = LogManager.GetLogger("a.b.c").Logger as Logger;

			CountingAppender caRoot = new CountingAppender();
			CountingAppender caA = new CountingAppender();
			CountingAppender caABC = new CountingAppender();

			root.AddAppender(caRoot);
			a.AddAppender(caA);
			abc.AddAppender(caABC);
			a.Repository.Configured = true;

			Assert.AreEqual(caRoot.Counter, 0); 
			Assert.AreEqual(caA.Counter, 0); 
			Assert.AreEqual(caABC.Counter, 0);		
		
			ab.Additivity = false;

			a.Log(Level.Debug, MSG, null);  
			Assert.AreEqual(caRoot.Counter, 1); 
			Assert.AreEqual(caA.Counter, 1); 
			Assert.AreEqual(caABC.Counter, 0);		

			ab.Log(Level.Debug, MSG, null);  
			Assert.AreEqual(caRoot.Counter, 1); 
			Assert.AreEqual(caA.Counter, 1); 
			Assert.AreEqual(caABC.Counter, 0);		

			abc.Log(Level.Debug, MSG, null);  
			Assert.AreEqual(caRoot.Counter, 1); 
			Assert.AreEqual(caA.Counter, 1); 
			Assert.AreEqual(caABC.Counter, 1);		
		}
コード例 #8
0
ファイル: Logger.cs プロジェクト: kevinswarner/Hover_OLD
		/// <summary>
		/// Test multiple additivity.
		/// </summary>
		[Test] public void TestAdditivity2() 
		{
		
			Logger a = LogManager.GetLogger("a").Logger as Logger;
			Logger ab = LogManager.GetLogger("a.b").Logger as Logger;
			Logger abc = LogManager.GetLogger("a.b.c").Logger as Logger;
			Logger x   = LogManager.GetLogger("x").Logger as Logger;

			CountingAppender ca1 = new CountingAppender();
			CountingAppender ca2 = new CountingAppender();

			a.AddAppender(ca1);
			abc.AddAppender(ca2);
			a.Repository.Configured = true;

			Assert.AreEqual(ca1.Counter, 0); 
			Assert.AreEqual(ca2.Counter, 0);		
		
			ab.Log(Level.Debug, MSG, null);  
			Assert.AreEqual(ca1.Counter, 1); 
			Assert.AreEqual(ca2.Counter, 0);		

			abc.Log(Level.Debug, MSG, null);
			Assert.AreEqual(ca1.Counter, 2); 
			Assert.AreEqual(ca2.Counter, 1);		

			x.Log(Level.Debug, MSG, null);
			Assert.AreEqual(ca1.Counter, 2); 
			Assert.AreEqual(ca2.Counter, 1);	
		}
コード例 #9
0
ファイル: Logger.cs プロジェクト: kevinswarner/Hover_OLD
		/// <summary>
		/// Test if logger a.b inherits its appender from a.
		/// </summary>
		[Test] public void TestAdditivity1() 
		{
			Logger a = LogManager.GetLogger("a").Logger as Logger;
			Logger ab = LogManager.GetLogger("a.b").Logger as Logger;
			CountingAppender ca = new CountingAppender();
			a.AddAppender(ca);
			a.Repository.Configured = true;
			
			Assert.AreEqual(ca.Counter, 0);
			ab.Log(Level.Debug, MSG, null); Assert.AreEqual(ca.Counter, 1);
			ab.Log(Level.Info, MSG, null);  Assert.AreEqual(ca.Counter, 2);
			ab.Log(Level.Warn, MSG, null);  Assert.AreEqual(ca.Counter, 3);
			ab.Log(Level.Error, MSG, null); Assert.AreEqual(ca.Counter, 4);	
		}