/// <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);
            }
示例#2
0
        public void TestAdditivity2()
        {
            Logger a   = (Logger)Utils.GetLogger("a").Logger;
            Logger ab  = (Logger)Utils.GetLogger("a.b").Logger;
            Logger abc = (Logger)Utils.GetLogger("a.b.c").Logger;
            Logger x   = (Logger)Utils.GetLogger("x").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);
        }
            /// <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;

                Assertion.AssertEquals(ca1.Counter, 0);
                Assertion.AssertEquals(ca2.Counter, 0);

                ab.Log(Level.DEBUG, MSG, null);
                Assertion.AssertEquals(ca1.Counter, 1);
                Assertion.AssertEquals(ca2.Counter, 0);

                abc.Log(Level.DEBUG, MSG, null);
                Assertion.AssertEquals(ca1.Counter, 2);
                Assertion.AssertEquals(ca2.Counter, 1);

                x.Log(Level.DEBUG, MSG, null);
                Assertion.AssertEquals(ca1.Counter, 2);
                Assertion.AssertEquals(ca2.Counter, 1);
            }
示例#4
0
        public void TestAppender2()
        {
            CountingAppender a1 = new CountingAppender();

            a1.Name = "testAppender2.1";
            CountingAppender a2 = new CountingAppender();

            a2.Name = "testAppender2.2";

            log = (Logger)Utils.GetLogger("test").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);
        }
示例#5
0
		public void TestAppender1()
		{
			log = (Logger)LogManager.GetLogger("test").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);
		}
        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);
        }
示例#7
0
        /// <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);
        }
            /// <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;

                Assertion.AssertEquals(ca.Counter, 0);
                ab.Log(Level.DEBUG, MSG, null); Assertion.AssertEquals(ca.Counter, 1);
                ab.Log(Level.INFO, MSG, null);  Assertion.AssertEquals(ca.Counter, 2);
                ab.Log(Level.WARN, MSG, null);  Assertion.AssertEquals(ca.Counter, 3);
                ab.Log(Level.ERROR, MSG, null); Assertion.AssertEquals(ca.Counter, 4);
            }
            /// <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 = log.Appenders.GetEnumerator();

                Assertion.Assert(enumAppenders.MoveNext());
                CountingAppender aHat = (CountingAppender)enumAppenders.Current;

                Assertion.AssertEquals(a1, aHat);
            }
示例#10
0
        public void TestDisable1()
        {
            CountingAppender caRoot = new CountingAppender();
            Logger           root   = ((Repository.Hierarchy.Hierarchy)Utils.GetRepository()).Root;

            root.AddAppender(caRoot);

            Repository.Hierarchy.Hierarchy h = ((Repository.Hierarchy.Hierarchy)Utils.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);
        }
示例#11
0
		public 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 = 5;
			m_bufferingForwardingAppender.ClearFilters();
			m_bufferingForwardingAppender.Fix = FixFlags.Partial;
			m_bufferingForwardingAppender.Lossy = false;
			m_bufferingForwardingAppender.LossyEvaluator = null;
			m_bufferingForwardingAppender.Threshold = Level.All;
		}
        public 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 = 5;
            m_bufferingForwardingAppender.ClearFilters();
            m_bufferingForwardingAppender.Fix            = FixFlags.Partial;
            m_bufferingForwardingAppender.Lossy          = false;
            m_bufferingForwardingAppender.LossyEvaluator = null;
            m_bufferingForwardingAppender.Threshold      = Level.All;
        }
示例#13
0
        public void AddingMultipleAppenders2()
        {
            CountingAppender alpha = new CountingAppender();
            CountingAppender beta  = new CountingAppender();

#if NETSTANDARD1_3
            BasicConfigurator.Configure(Utils.GetRepository(), alpha, beta);
#else
            BasicConfigurator.Configure(alpha, beta);
#endif

            ILog log = LogManager.GetLogger(GetType());
            log.Debug("Hello World");

            Assert.AreEqual(1, alpha.Counter);
            Assert.AreEqual(1, beta.Counter);
        }
示例#14
0
        public void TestAppender1()
        {
            Logger           log = (Logger)Utils.GetLogger("test").Logger;
            CountingAppender a1  = new CountingAppender();

            a1.Name = "testAppender1";
            log.AddAppender(a1);

            Assert.IsTrue(log.Appenders.Count > 0);

            var enumAppenders = ((IEnumerable)log.Appenders).GetEnumerator();

            Assert.IsTrue(enumAppenders.MoveNext());
            var a2 = (CountingAppender)enumAppenders.Current;

            Assert.AreEqual(a1, a2);
        }
示例#15
0
        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);
        }
		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);
		}
示例#17
0
            /// <summary>
            /// Test additivity flag.
            /// </summary>
            [Test] public void TestAdditivity3()
            {
                Logger root = ((Hierarchy)LogManager.GetLoggerRepository()).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;
                Logger x    = LogManager.GetLogger("x").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;

                Assertion.AssertEquals(caRoot.Counter, 0);
                Assertion.AssertEquals(caA.Counter, 0);
                Assertion.AssertEquals(caABC.Counter, 0);

                ab.Additivity = false;

                a.Log(Level.DEBUG, MSG, null);
                Assertion.AssertEquals(caRoot.Counter, 1);
                Assertion.AssertEquals(caA.Counter, 1);
                Assertion.AssertEquals(caABC.Counter, 0);

                ab.Log(Level.DEBUG, MSG, null);
                Assertion.AssertEquals(caRoot.Counter, 1);
                Assertion.AssertEquals(caA.Counter, 1);
                Assertion.AssertEquals(caABC.Counter, 0);

                abc.Log(Level.DEBUG, MSG, null);
                Assertion.AssertEquals(caRoot.Counter, 1);
                Assertion.AssertEquals(caA.Counter, 1);
                Assertion.AssertEquals(caABC.Counter, 1);
            }
示例#18
0
        public void TestAdditivity()
        {
            Logger a = (Logger)Utils.GetLogger("a").Logger;

            var ca = new CountingAppender();

            a.AddAppender(ca);
            a.Repository.Configured = true;//设置了之后,Level才起作用。

            Assert.AreEqual(ca.Counter, 0);

            a.Log(Level.Debug, "test debug log", null);
            Assert.AreEqual(ca.Counter, 1);

            a.Log(Level.Info, "test info log", null);
            Assert.AreEqual(ca.Counter, 2);

            a.Log(Level.Warn, "test warn log", null);
            Assert.AreEqual(ca.Counter, 3);

            a.Log(Level.Error, "test error log", null);
            Assert.AreEqual(ca.Counter, 4);
        }
示例#19
0
        public void TestAdditivity3()
        {
            Logger root = ((Repository.Hierarchy.Hierarchy)Utils.GetRepository()).Root;
            Logger a    = (Logger)Utils.GetLogger("a").Logger;
            Logger ab   = (Logger)Utils.GetLogger("a.b").Logger;
            Logger abc  = (Logger)Utils.GetLogger("a.b.c").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);
        }
示例#20
0
		/// <summary>
		/// Configures the root appender for counting and rolling
		/// </summary>
		private void ConfigureRootAppender()
		{
			_root = ((Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root;
			_root.Level = Level.Debug;
			_caRoot = new CountingAppender();
			_root.AddAppender(_caRoot);
			Assert.AreEqual(_caRoot.Counter, 0);

			//
			// Set the root appender with a RollingFileAppender
			//
			_root.AddAppender(CreateAppender());

			_root.Repository.Configured = true;
		}
示例#21
0
        public void TestAdditivity2()
        {
            /*
             *  记录器的层次Logger Hierarchy
             *  https://blog.csdn.net/redez/article/details/518834
             *  首先,我们先看一下何为层次,以我们最熟悉的继承为例。
             *  假如类B是类C的父类,类A是类C的祖先类,类D是类C的子类。
             *  这些类之间就构成一种层次关系。
             *  在这些具有层次关系的类中,子类都可继承它的父类的特征,如类B的对象能调用类A中的非private实例变量和函数;
             *  而类C由于继承自类B,所以类B的对象可以同时调用类A和类B中的非private实例变量和函数。
             *
             *  在log4j中,处于不同层次中的Logger也具有象类这样的继承关系。
             *  如果一个应用中包含了上千个类,那么也几乎需要上千个Logger实例。
             *  如何对这上千个Logger实例进行方便地配置,就是一个很重要的问题。
             *  Log4J采用了一种树状的继承层次巧妙地解决了这个问题。
             *  在Log4J中Logger是具有层次关系的。它有一个共同的根,位于最上层,其它Logger遵循类似包的层次。
             *
             *  根记录器root logger
             *  就象一个Java中的Object类一样,log4j中的logger层次中有一个称之为根记录器的记录器,
             *  其它所有的记录器都继承自这个根记录器。根记录器有两个特征:
             *  1) 根记录器总是存在。就像Java中的Object类一样,因为用log4j输出日志信息是通过记录器来实现的,
             *     所以只要你应用了log4j,根记录器就肯定存在的。
             *  2) 根记录器没有名称,所以不能通过名称来取得根记录器。
             *     但在Logger类中提供了getRootLogger()的方法来取得根记录器。
             *
             *  记录器的层次
             *  Logger遵循类似包的层次。如
             *  static Logger rootLog = Logger.getRootLogger();
             *  static Logger log1 = Logger.getLogger("test4j");
             *  static Logger log2 = Logger.getLogger("test4j.test4j2");
             *  static Logger log3 = Logger.getLogger("test4j.test4j2.test4j2");
             *  那么rootLog是log2的祖先子记录器,log1是log2的父记录器,log3是log2的子记录器。
             *  记录器象Java中的类继承一样,子记录器可以继承父记录器的设置信息,也可以可以覆写相应的信息。
             */

            Logger a   = (Logger)Utils.GetLogger("a").Logger;
            Logger ab  = (Logger)Utils.GetLogger("a.b").Logger;
            Logger abc = (Logger)Utils.GetLogger("a.b.c").Logger;
            Logger x   = (Logger)Utils.GetLogger("x").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, "", null);
            Assert.AreEqual(ca1.Counter, 1);
            Assert.AreEqual(ca2.Counter, 0);

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

            x.Log(Level.Debug, "", null);
            Assert.AreEqual(ca1.Counter, 2);
            Assert.AreEqual(ca2.Counter, 1);
        }