Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }