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; }
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"); }
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(); }