private MongoDatabase GetDatabase() { if (string.IsNullOrWhiteSpace(ConnectionString)) { return(BackwardCompatibility.GetDatabase(this)); } MongoUrl url = MongoUrl.Create(ConnectionString); MongoServer conn = MongoServer.Create(url); MongoDatabase db = conn.GetDatabase(url.DatabaseName ?? "log4net"); return(db); }
private BsonDocument BuildBsonDocument(LoggingEvent log) { if (_fields.Count == 0) { return(BackwardCompatibility.BuildBsonDocument(log)); } var doc = new BsonDocument(); foreach (MongoAppenderFileld field in _fields) { object value = field.Layout.Format(log); var bsonValue = value as BsonValue ?? BsonValue.Create(value); doc.Add(field.Name, bsonValue); } return(doc); }
private MongoDatabase GetDatabase() { string connStr = GetConnectionString(); if (string.IsNullOrWhiteSpace(connStr)) { return(BackwardCompatibility.GetDatabase(this)); } MongoUrl url = MongoUrl.Create(connStr); // 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 MongoServer conn = MongoServer.Create(url); MongoDatabase db = conn.GetDatabase(url.DatabaseName ?? "log4net"); return(db); }
private BsonDocument BuildBsonDocument(LoggingEvent log) { if (_fields.Count == 0) { return(BackwardCompatibility.BuildBsonDocument(log)); } var doc = new BsonDocument(); foreach (MongoAppenderFileld field in _fields) { object value = field.Layout.Format(log); BsonValue bsonValue; // if the object is complex and can't be mapped to a simple object, convert to bson document if (!BsonTypeMapper.TryMapToBsonValue(value, out bsonValue)) { bsonValue = value.ToBsonDocument(); } doc.Add(field.Name, bsonValue); } return(doc); }