public static MongoDatabase GetDatabase(MongoDBAppender appender) { var port = appender.Port > 0 ? appender.Port : 27017; var mongoConnectionString = new StringBuilder(string.Format("Server={0}:{1}", appender.Host ?? "localhost", port)); if (!string.IsNullOrEmpty(appender.UserName) && !string.IsNullOrEmpty(appender.Password)) { mongoConnectionString.AppendFormat(";Username={0};Password={1}", appender.UserName, appender.Password); } MongoServer connection = MongoServer.Create(mongoConnectionString.ToString()); // TODO Should be replaced with MongoClient, but this will change default for WriteConcern. See http://blog.mongodb.org/post/36666163412/introducing-mongoclient and http://docs.mongodb.org/manual/release-notes/drivers-write-concern TimeSpan ts = new TimeSpan(0, 0, 0, 0, 500); connection.Connect(ts); return(connection.GetDatabase(appender.DatabaseName ?? "log4net_mongodb")); }
public void TestFixtureSetUp() { log4net.Config.XmlConfigurator.Configure(); var appenders = log.Logger.Repository.GetAppenders(); Assert.IsTrue(appenders.Length > 0, "Seems that MongoDB Appender is not configured"); appender = appenders[0] as MongoDBAppender; Assert.IsNotNull(appender, "MongoDBAppender is expected to be the only one configured for tests"); // Use mongo collection configured at appender level for tests collection = appender.LogCollection; }