Ho un'istanza di database MongoDb locale (creata eseguendo mongod dalla riga di comando di Windows) e un semplice programma di console che tenta di registrare una stringa nel database MongoDb utilizzando Serilog e il relativo MongoDb affondare:Serilog: impossibile accedere a MongoDb utilizzando il lavandino MongoDb
var log = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.ColoredConsole()
.WriteTo.MongoDB("mongodb://localhost/mydb")
.CreateLogger();
log.Fatal("Fatal message");
il messaggio "messaggio fatale" è scritto correttamente alla console, ma non per il mio database MongoDb.
Il mio attuale database MongoDb è "mydb". Secondo "mostra collezioni", ho solo collezioni system.indexes e testData, e "db.testData.find()" non produce nulla.
Il sito Serilog dice di utilizzare la stringa di connessione "mongo: // mydb/log", ma che genera un'eccezione "Un'eccezione non gestita di tipo 'System.FormatException' si è verificata in MongoDB.Driver.dll". La stringa di connessione che ho usato nel mio codice è specificata sul sito MongoDb, al http://docs.mongodb.org/manual/reference/connection-string/
Come posso accedere a MongoDb usando Serilog?
Grazie, darò che una prova. C'è un modo per impostare il ritardo di buffering su 0? Ciò renderà il test molto più semplice. – user1147862
Passare 'periodo: TimeSpan.Zero' dovrebbe farlo. –
(Anche se qualche millisecondo può essere più sano di mente - l'IIRC totalmente non testato di zero :)) –