예제 #1
0
        public void info_by_object()
        {
            var l1 = new RecordingLogListener {
                IsInfoEnabled = false, IsDebugEnabled = true
            };
            var l2 = new RecordingLogListener {
                IsDebugEnabled = false, IsInfoEnabled = true
            };
            var l3 = new RecordingLogListener {
                IsInfoEnabled = true
            };

            l1.ListensForTypes[typeof(Trace1)] = true;
            l2.ListensForTypes[typeof(Trace1)] = true;
            l3.ListensForTypes[typeof(Trace2)] = true;

            var logger = new Logger(new ILogListener[] { l1, l2, l3 }, NulloModifiers);

            var msg1 = new Trace1();
            var msg2 = new Trace1();

            logger.InfoMessage(msg1);
            logger.InfoMessage(() => msg2);

            l1.InfoMessages.Any().ShouldBeFalse(); // debugging is not enabled
            l2.InfoMessages.ShouldHaveTheSameElementsAs(msg1, msg2);
            l3.InfoMessages.Any().ShouldBeFalse(); // does not listen to Trace1
        }
 protected override void OnLoad(System.EventArgs e)
 {
     base.OnLoad(e);
     Trace1.TraceInformation("hello1");
     Trace1.Flush();
     Trace2.TraceInformation("hello2");
     Trace2.Flush();
 }
예제 #3
0
        public void debugging_by_object()
        {
            var l1 = new RecordingLogListener { IsInfoEnabled = true };
            var l2 = new RecordingLogListener { IsInfoEnabled = false, IsDebugEnabled = true };
            var l3 = new RecordingLogListener { IsInfoEnabled = true };

            l1.ListensForTypes[typeof(Trace1)] = true;
            l2.ListensForTypes[typeof(Trace1)] = true;
            l3.ListensForTypes[typeof(Trace2)] = true;

            var logger = new Logger(SystemTime.Default(), new ILogListener[] { l1, l2, l3 });

            var msg1 = new Trace1();
            var msg2 = new Trace1();

            logger.DebugMessage(msg1);
            logger.DebugMessage(() => msg2);

            l1.DebugMessages.Any().ShouldBeFalse(); // debugging is not enabled
            l2.DebugMessages.ShouldHaveTheSameElementsAs(msg1, msg2);
            l3.DebugMessages.Any().ShouldBeFalse(); // does not listen to Trace1
        }