Пример #1
0
        static void SetupLog4Net()
        {
            // Configure log4net.
            var locateFileInfo = new FileInfo(Assembly.GetExecutingAssembly().Location);
            var parentPath     = new FileInfo(Path.Combine(locateFileInfo.DirectoryName, "app.config"));

            XmlConfigurator.Configure(parentPath);


            string logFile = @"c:\rFdkLogs\";

            var repository = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository(Assembly.GetCallingAssembly());

            repository.Name = "rFdk";
            // AsyncForwardingAppender
            var asyncForwardingAppender = new AsyncForwardingAppender();

            asyncForwardingAppender.Name = "AsyncForwardingAppender";
            // DebugLogFileAppender
            asyncForwardingAppender.AddAppender(CreateAppenderExactLevelInstance(logFile, " yyyy-MM-dd [HH]' Debug.log'", Level.Debug));

            // root
            asyncForwardingAppender.ActivateOptions();
            repository.Root.AddAppender(asyncForwardingAppender);
            repository.Root.Level = Level.Info;
            repository.Configured = true;
        }
Пример #2
0
        public void TestFixtureSetUp()
        {
            debugAppender = new DebugAppender();
            debugAppender.ActivateOptions();

            asyncForwardingAppender = new AsyncForwardingAppender();
            asyncForwardingAppender.AddAppender(debugAppender);
            asyncForwardingAppender.ActivateOptions();

            repository = LogManager.CreateRepository(Guid.NewGuid().ToString());
            BasicConfigurator.Configure(repository, asyncForwardingAppender);

            log = LogManager.GetLogger(repository.Name, "TestLogger");
        }
Пример #3
0
        public void CanHandleAppenderThrowing()
        {
            // Arrange
            var badAppender = MockRepository.GenerateMock <IAppender>();

            asyncForwardingAppender.AddAppender(badAppender);

            badAppender
            .Expect(ba => ba.DoAppend(null))
            .IgnoreArguments()
            .Throw(new Exception("Bad Appender"))
            .Repeat.Twice();

            // Act
            log.Info("InitialMessage");
            log.Info("SusequentMessage");
            asyncForwardingAppender.Close();

            // Assert
            Assert.That(debugAppender.LoggedEventCount, Is.EqualTo(2));
            Assert.That(debugAppender.GetEvents()[1].MessageObject, Is.EqualTo("SusequentMessage"));
            badAppender.VerifyAllExpectations();
        }