示例#1
0
		public void TracingErrorInformation()
		{
			TraceLoggerFactory factory = new TraceLoggerFactory();
			ILogger logger = factory.Create(typeof(TraceLoggerTests), LoggerLevel.Debug);
			try
			{
				try
				{
					string fakearg = "Thisisavalue";
					throw new ArgumentOutOfRangeException("fakearg", fakearg, "Thisisamessage" );
				}
				catch (Exception ex)
				{
					throw new ApplicationException("Inner error is " + ex.Message, ex);
				}
			}
			catch (Exception ex)
			{
				logger.Error("Problem handled", ex);
			}

			Listener.AssertContains("testsrule", "Castle.Core.Logging.Tests.TraceLoggerTests");
			Listener.AssertContains("testsrule", "Problem handled");
			Listener.AssertContains("testsrule", "ApplicationException");
			Listener.AssertContains("testsrule", "Inner error is");
			Listener.AssertContains("testsrule", "ArgumentOutOfRangeException");
			Listener.AssertContains("testsrule", "fakearg");
			Listener.AssertContains("testsrule", "Thisisavalue");
			Listener.AssertContains("testsrule", "Thisisamessage");
		}
示例#2
0
            public void DoAppend(LoggingEvent loggingEvent)
            {
                var traceLoggerFactory = new TraceLoggerFactory();
                var logger             = traceLoggerFactory.Create(loggingEvent.LoggerName);

                if (loggingEvent.Level <= Level.Debug)
                {
                    logger.Debug(loggingEvent.RenderedMessage);
                }
                else if (loggingEvent.Level <= Level.Info)
                {
                    logger.Info(loggingEvent.RenderedMessage);
                }
                else if (loggingEvent.Level <= Level.Warn)
                {
                    logger.Warn(loggingEvent.RenderedMessage);
                }
                else if (loggingEvent.Level <= Level.Error)
                {
                    logger.Error(loggingEvent.RenderedMessage);
                }
                else
                {
                    logger.Fatal(loggingEvent.RenderedMessage);
                }
            }
        public void TracingErrorInformation()
        {
            TraceLoggerFactory factory = new TraceLoggerFactory();
            ILogger            logger  = factory.Create(typeof(TraceLoggerTests), LoggerLevel.Debug);

            try
            {
                try
                {
                    string fakearg = "Thisisavalue";
                    throw new ArgumentOutOfRangeException("fakearg", fakearg, "Thisisamessage");
                }
                catch (Exception ex)
                {
                    throw new ApplicationException("Inner error is " + ex.Message, ex);
                }
            }
            catch (Exception ex)
            {
                logger.Error("Problem handled", ex);
            }

            Listener.AssertContains("testsrule", "Castle.Core.Logging.Tests.TraceLoggerTests");
            Listener.AssertContains("testsrule", "Problem handled");
            Listener.AssertContains("testsrule", "ApplicationException");
            Listener.AssertContains("testsrule", "Inner error is");
            Listener.AssertContains("testsrule", "ArgumentOutOfRangeException");
            Listener.AssertContains("testsrule", "fakearg");
            Listener.AssertContains("testsrule", "Thisisavalue");
            Listener.AssertContains("testsrule", "Thisisamessage");
        }
        public void Test_Logger_Creater()
        {
            var factory = new TraceLoggerFactory();
            var logger  = factory.Create("Castle.Core.Test.Main.TraceLoggerTests", LoggerLevel.Debug);

            Assert.IsNotNull(logger);
        }
示例#5
0
        public override void Execute()
        {
            var loggerFactory = new TraceLoggerFactory();
            var logger        = loggerFactory.Create("Default");

            if (!Container.IsRegistered <ILoggerFactory>())
            {
                using (var lifetime = new HierarchicalLifetimeManager())
                    Container.RegisterInstance(loggerFactory, lifetime);
            }

            if (!Container.IsRegistered <ILogger>())
            {
                using (var lifetime = new HierarchicalLifetimeManager())
                    Container.RegisterType <ILogger, TraceLogger>(
                        lifetime,
                        new InjectionConstructor("Default Logger", TraceEventType.Information));
            }

            if (!Container.IsRegistered <IInterceptionBehavior>("TraceBehavior"))
            {
                using (var lifetime = new HierarchicalLifetimeManager())
                    Container.RegisterType <IInterceptionBehavior, TraceBehavior>("TraceBehavior", lifetime);
            }

            RegisterSerializers();
            RegisterClientConfigurations();
            RegisterRestClients();
            RegisterRepositories();
        }
示例#6
0
		public void WritingToLoggerByType()
		{
			TraceLoggerFactory factory = new TraceLoggerFactory();
			ILogger logger = factory.Create(typeof(TraceLoggerTests), LoggerLevel.Debug);
			logger.Debug("this is a tracing message");

			Listener.AssertContains("testsrule", "Castle.Core.Logging.Tests.TraceLoggerTests");
			Listener.AssertContains("testsrule", "this is a tracing message");
		}
        public void WritingToLoggerByType()
        {
            TraceLoggerFactory factory = new TraceLoggerFactory();
            ILogger            logger  = factory.Create(typeof(TraceLoggerTests), LoggerLevel.Debug);

            logger.Debug("this is a tracing message");

            Listener.AssertContains("testsrule", "Castle.Core.Logging.Tests.TraceLoggerTests");
            Listener.AssertContains("testsrule", "this is a tracing message");
        }
        public void FallUpToDefaultSource()
        {
            TraceLoggerFactory factory = new TraceLoggerFactory();
            ILogger            logger  = factory.Create("System.Xml.XmlDocument", LoggerLevel.Debug);

            logger.Info("Logging to non-configured namespace namespace");

            Listener.AssertContains("defaultrule", "System.Xml.XmlDocument");
            Listener.AssertContains("defaultrule", "Logging to non-configured namespace namespace");
        }
        public void FallUpToShorterSourceName()
        {
            TraceLoggerFactory factory = new TraceLoggerFactory();
            ILogger            logger  = factory.Create(typeof(Configuration.Xml.XmlConfigurationDeserializer), LoggerLevel.Debug);

            logger.Info("Logging to config namespace");

            Listener.AssertContains("configrule", "Castle.Core.Configuration.Xml.XmlConfigurationDeserializer");
            Listener.AssertContains("configrule", "Logging to config namespace");
        }
        public void WritingToLoggerByType()
        {
            var factory = new TraceLoggerFactory();
            var logger  = factory.Create(typeof(TraceLoggerTests), LoggerLevel.Debug);

            logger.Debug("this is a tracing message");
            Assert.IsTrue(logger is LevelFilteredLogger);
            Assert.AreEqual((logger as LevelFilteredLogger).Name, "Castle.Core.Test.Main.TraceLoggerTests");

            MyListener.AssertContains("testsrule", "Castle.Core.Test.Main.TraceLoggerTests");
            MyListener.AssertContains("testsrule", "this is a tracing message");
        }
示例#11
0
		public void FallUpToDefaultSource()
		{
			TraceLoggerFactory factory = new TraceLoggerFactory();
			ILogger logger = factory.Create("System.Xml.XmlDocument", LoggerLevel.Debug);
			logger.Info("Logging to non-configured namespace namespace");

			Listener.AssertContains("defaultrule", "System.Xml.XmlDocument");
			Listener.AssertContains("defaultrule", "Logging to non-configured namespace namespace");
		}
示例#12
0
		public void FallUpToShorterSourceName()
		{
			TraceLoggerFactory factory = new TraceLoggerFactory();
			ILogger logger = factory.Create(typeof(Castle.Core.Configuration.Xml.XmlConfigurationDeserializer), LoggerLevel.Debug);
			logger.Info("Logging to config namespace");

			Listener.AssertContains("configrule", "Castle.Core.Configuration.Xml.XmlConfigurationDeserializer");
			Listener.AssertContains("configrule", "Logging to config namespace");            
		}
示例#13
0
        public void Master()
        {
            var f = new TraceLoggerFactory();
            var master = new DefaultMaster(f, (m, w) =>
            {
                try
                {
                    throw new Exception();
                }
                catch (Exception e)
                {
                    w.WriteLine(e.Message);
                    w.Flush();
                }
            });
            master.Run();
            var agent = new DefaultAgent(f, ".", "agent", "test", new DefaultHandle());
            agent.Run();

            DefaultMaster.Send(new TraceLog(), ".", DefaultMaster.Name, "");
            Thread.Sleep(10000);
            Trace.WriteLine("关闭agent");
            agent.Stop();
            Thread.Sleep(5000);
            Trace.WriteLine("打开agent");
            agent.Run();
            Thread.Sleep(10000);
            Trace.WriteLine("关闭master");
            master.Stop();
            Thread.Sleep(5000);
            Trace.WriteLine("打开master");
            master.Run();
            Thread.Sleep(10000);
            master.Broadcast("cache summary");
            Thread.Sleep(10000);
        }
示例#14
0
 public TraceLogger(Type type, TraceLoggerFactory loggerFactory)
 {
     _type          = type;
     _loggerFactory = loggerFactory;
 }
 public void Init()
 {
     tested = new TraceLoggerFactory();
 }