gpt4 book ai didi

.net - Serilog:无法使用 MongoDb 接收器登录到 MongoDb

转载 作者:IT老高 更新时间:2023-10-28 13:33:55 26 4
gpt4 key购买 nike

我有一个本地 MongoDb 数据库实例(通过从 Windows 命令行运行 mongod 创建)和一个简单的控制台程序,它尝试使用 Serilog 及其 MongoDb 接收器将字符串记录到 MongoDb 数据库:

        var log = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.ColoredConsole()
.WriteTo.MongoDB("mongodb://localhost/mydb")
.CreateLogger();

log.Fatal("Fatal message");

“致命消息”消息已正确写入控制台,但未正确写入我的 MongoDb 数据库。

我当前的 MongoDb 数据库是“mydb”。根据“显示集合”,我只有集合 system.indexes 和 testData,而“db.testData.find()”什么也没产生。

Serilog 站点说要使用连接字符串“mongo://mydb/log”,但这会引发异常“MongoDB.Driver.dll 中发生‘System.FormatException’类型的未处理异常”。我在代码中使用的连接字符串在 MongoDb 站点上指定,位于 http://docs.mongodb.org/manual/reference/connection-string/

如何使用 Serilog 登录到 MongoDb?

最佳答案

您可能只是遇到了默认(两秒?)缓冲延迟 - 如果您在 Windows 中关闭控制台应用程序,它会硬终止程序,因此无法始终刷新缓冲区。如果是这样,在关闭应用程序之前等待几秒钟将解决此问题。

否则,在 Serilog 中解决所有 sink 调试的方法是设置 SelfLog.Out:

SelfLog.Out = Console.Error;

这将打印接收器引发的任何异常,让您可以快速放大错误所在位置。

关于.net - Serilog:无法使用 MongoDb 接收器登录到 MongoDb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24714350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com