博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Serilog记录MongoDB日志报错:requires the binary sub type to be UuidLegacy, not UuidStandard
阅读量:5741 次
发布时间:2019-06-18

本文共 1551 字,大约阅读时间需要 5 分钟。

Serilog

Serilog是.NET开源结构化日志类库

开源地址:
官网:

Serilog能做什么:

  1. 记录代码中的BUG和错误
  2. 更快的找到生产环境中的问题
  3. 深入的了解系统运行表现

想对Serilog多点了解,请查阅,翻译的很棒。

重现Error出现的场景

在自己的项目中使用Serilog并使用MongoDB记录日志,需要nuget引用 SerilogSerilog.Sinks.MongoDB

我引用的是 Serilog 2.7.1Serilog.Sinks.MongoDB 3.1.0
Serilog.Sinks.MongoDB 3.1.0 依赖的是的MongoDB组件库是 MongoDB.Driver 2.3.0MongoDB.Driver.Core 2.3.0MongoDB.Bson 2.3.0,所以当nuget引用Serilog.Sinks.MongoDB 3.1.0 自然会引用 MongoDB.Driver 2.3.0MongoDB.Driver.Core 2.3.0MongoDB.Bson 2.3.0
在记录MongoDB日志时报错,内容如下

The GuidRepresentation for the reader is CSharpLegacy, which requires the binary sub type to be UuidLegacy, not UuidStandard

解决方案

程序员google大法,找到同样的错误。点击查看:

文中给了三种解决方案:

1、修改全局配置 BsonDefaults.GuidRepresentation

BsonDefaults.GuidRepresentation = GuidRepresentation.Standard;

2、当你创建collection时指定配置

MongoDatabase db = ???;string collectionName = ???;var collectionSettings = new MongoCollectionSettings {  GuidRepresentation = GuidRepresentation.Standard};var collection = db.GetCollection
(collectionName, collectionSettings);

3、更新驱动

原文如下

Solution 3.update to .NET Driver Version 2.5.x

.NET Driver Version 2.5.0 Release Notes say below:
The main new feature of 2.5.0 is support for the new features of the 3.6 version of the server:
...
Improved support for reading and writing UUIDs in BsonBinary subtype 4 format

解决方案1和2都有点瞎啊,推测要改Serilog.Sinks.MongoDB的源码。自然先按照最简单的开始尝试,更新MongoDB驱动。

我的尝试解决方案:MongoDB.Driver 2.3.0MongoDB.Driver.Core 2.3.0MongoDB.Bson 2.3.0 统统更新至2.7.0版本(注:当前最新的稳定版本)。然后,嘣!问题解决!

转载于:https://www.cnblogs.com/AlienXu/p/9382857.html

你可能感兴趣的文章
AC AP
查看>>
[日推荐] 『忆年共享相册』-照片鉴证一起走过的哪些年
查看>>
Tomcat Session 共享 方法
查看>>
从零开始写一个武侠冒险游戏-6-用GPU提升性能(3)
查看>>
2015年工作总结
查看>>
在64位win7上安装visual studio 6.0
查看>>
Smart 2.0 开发指南
查看>>
»Spring 之AOP AspectJ切入点语法详解(最全了,不需要再去其他地找了)
查看>>
有感于DELL官网的修正速度和服务态度
查看>>
金三银四铜五铁六,面试得做好这个准备
查看>>
算法之【插入排序法】
查看>>
为UILabel 添加圆角背景(转)
查看>>
Android修改和添加APN网络
查看>>
Android App监听软键盘按键的三种方式
查看>>
优化导入数据到MariaDB、Mysql(InnoDB)的速度
查看>>
脸皮!哈,要它做什么!
查看>>
每天40分钟家务
查看>>
Linux基础 -- 帮助命令
查看>>
VirtualBox虚拟机网络配置
查看>>
ubuntu各文件夹简介
查看>>