EasilyNET.Mongo.ConsoleDebug 1.9.0-preview2

This is a prerelease version of EasilyNET.Mongo.ConsoleDebug.
There is a newer version of this package available.
See the version list below for details.
dotnet add package EasilyNET.Mongo.ConsoleDebug --version 1.9.0-preview2                
NuGet\Install-Package EasilyNET.Mongo.ConsoleDebug -Version 1.9.0-preview2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EasilyNET.Mongo.ConsoleDebug" Version="1.9.0-preview2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EasilyNET.Mongo.ConsoleDebug --version 1.9.0-preview2                
#r "nuget: EasilyNET.Mongo.ConsoleDebug, 1.9.0-preview2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install EasilyNET.Mongo.ConsoleDebug as a Cake Addin
#addin nuget:?package=EasilyNET.Mongo.ConsoleDebug&version=1.9.0-preview2&prerelease

// Install EasilyNET.Mongo.ConsoleDebug as a Cake Tool
#tool nuget:?package=EasilyNET.Mongo.ConsoleDebug&version=1.9.0-preview2&prerelease                

EasilyNET.Mongo.ConsoleDebug

常使用 EF 的小伙伴就应该能够知道,可以让 EF 生产的 SQL 语句输出到控制台,在开发的时候非常方便调试.<br/> 而 MongoDB 却没有这样的功能,所以产生了这个库,虽然不完美,但是能够解决一些开发过程中不方便排查问题的情况.

  • 最终效果类似如下:
 ╭───────────────────────────────Command────────────────────────────────╮╭──────────────────Calendar──────────────────╮
 │ {                                                                    ││                2023 August                 │
 │   "insert" : "mongo.test",                                           ││ ┌─────┬─────┬─────┬─────┬─────┬─────┬────┐ │
 │   "ordered" : true,                                                  ││ │ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ S… │ │
 │   "$db" : "test1",                                                   ││ ├─────┼─────┼─────┼─────┼─────┼─────┼────┤ │
 │   "lsid" : {                                                         ││ │     │     │ 1   │ 2   │ 3   │ 4   │ 5  │ │
 │     "id" : CSUUID("f12dd90d-2f58-4655-9bf2-cbce2d9bd2c4")            ││ │ 6   │ 7   │ 8   │ 9   │ 10  │ 11  │ 12 │ │
 │   },                                                                 ││ │ 13  │ 14  │ 15  │ 16  │ 17  │ 18  │ 19 │ │
 │   "documents" : [{                                                   ││ │ 20  │ 21  │ 22  │ 23* │ 24  │ 25  │ 26 │ │
 │       "_id" : ObjectId("64e57f266a1a63e69c52b9cb"),                  ││ │ 27  │ 28  │ 29  │ 30  │ 31  │     │    │ │
 │       "dateTime" : ISODate("2023-08-23T03:38:14.121Z"),              ││ │     │     │     │     │     │     │    │ │
 │       "timeSpan" : "00:00:50",                                       ││ └─────┴─────┴─────┴─────┴─────┴─────┴────┘ │
 │       "dateOnly" : "2023-08-23",                                     │╰────────────────────────────────────────────╯
 │       "timeOnly" : "11:38:14",                                       │╭────────────────────Info────────────────────╮
 │       "nullableDateOnly" : "2023-08-23",                             ││ {                                          │
 │       "nullableTimeOnly" : null                                      ││    "RequestId": 86,                        │
 │     }]                                                               ││    "Timestamp": "2023-08-23 03:38:14",     │
 │ }                                                                    ││    "Method": "insert",                     │
 │                                                                      ││    "DatabaseName": "test1",                │
 │                                                                      ││    "CollectionName": "mongo.test",         │
 │                                                                      ││    "ConnectionInfo": {                     │
 │                                                                      ││       "ClusterId": 1,                      │
 │                                                                      ││       "EndPoint": "127.0.0.1:27018"        │
 │                                                                      ││    }                                       │
 │                                                                      ││ }                                          │
 │                                                                      │╰────────────────────────────────────────────╯
 │                                                                      │╭───────────────Request Status───────────────╮
 │                                                                      ││ ┌───────────┬────────────────┬───────────┐ │
 │                                                                      ││ │ RequestId │      Time      │  Status   │ │
 │                                                                      ││ ├───────────┼────────────────┼───────────┤ │
 │                                                                      ││ │    86     │ 11:38:14.12640 │ Succeeded │ │
 │                                                                      ││ └───────────┴────────────────┴───────────┘ │
 │                                                                      │╰────────────────────────────────────────────╯
 │                                                                      │╭───────────────────NiuNiu───────────────────╮
 │                                                                      ││   --------------------------------------   │
 │                                                                      ││ /     Only two things are infinite,      \ │
 │                                                                      ││ \   the universe and human stupidity.    / │
 │                                                                      ││   --------------------------------------   │
 │                                                                      ││              ^__^     O   ^__^             │
 │                                                                      ││      _______/(oo)      o  (oo)\_______     │
 │                                                                      ││  /\/(       /(__)         (__)\       )\/\ │
 │                                                                      ││     ||w----||                 ||----w||    │
 │                                                                      ││     ||     ||                 ||     ||    │
 │                                                                      ││ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │
 ╰──────────────────────────────────────────────────────────────────────╯╰────────────────────────────────────────────╯

使用方法

  • 使用默认值配置
var clientSettings = MongoClientSettings.FromUrl(mongoUrl);
clientSettings.ClusterConfigurator = cb => cb.Subscribe(new ActivityEventSubscriber());
var mongoClient = new MongoClient(clientSettings);
  • 使用集合名称进行过滤
var clientSettings = MongoClientSettings.FromUrl(mongoUrl);
// 定义需要输出的集合
HashSet<string> CommandsWithCollectionName = new()
{
    "mongo.test"
};
var options = new InstrumentationOptions()
{
    Enable = true,
    ShouldStartCollection = coll => CommandsWithCollectionName.Contains(coll)
};
clientSettings.ClusterConfigurator = cb => cb.Subscribe(new ActivityEventSubscriber(options));
var mongoClient = new MongoClient(clientSettings);
Seilog配置例子
// 添加Serilog配置
builder.Host.UseSerilog((hbc, lc) =>
{
    const LogEventLevel logLevel = LogEventLevel.Information;
    lc.ReadFrom.Configuration(hbc.Configuration)
          .MinimumLevel.Override("Microsoft", logLevel)
          .MinimumLevel.Override("System", logLevel)
          .Enrich.FromLogContext()
          .WriteTo.Async(wt =>
          {
              wt.Debug();
              // 输出到 Spectre.Console
              wt.SpectreConsole();
          });
});

同时参考MongoDB.Driver.Core.Extensions.DiagnosticSources

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.24.1224.141 43 12/24/2024
3.24.1216.116 52 12/16/2024
3.24.1206.100 55 12/6/2024
3.24.1205.171 59 12/5/2024
3.24.1202.150 59 12/2/2024
3.24.1126.231 55 11/26/2024
3.24.1126.172 52 11/26/2024
3.24.1126.114 56 11/26/2024
3.24.1126.104 53 11/26/2024
3.24.1125.181 37 11/25/2024
3.24.1125.104 53 11/25/2024
3.24.1121.183 47 11/21/2024
3.24.1120.183 49 11/20/2024
3.24.1119.31 51 11/18/2024
3.24.1115.143 39 11/15/2024
3.24.1113.100 56 11/13/2024
3.24.1112.125 54 11/12/2024
3.24.1107.140 49 11/7/2024
3.24.1107.54 50 11/7/2024
3.24.1107.34 48 11/7/2024
3.24.1105.111 51 11/5/2024
3.24.1103.31 59 11/2/2024
3.24.1103 57 11/2/2024
3.24.1031.135 47 10/31/2024
3.24.1031.112 50 10/31/2024
3.24.1031.104 47 10/31/2024
3.24.1029.142 55 10/29/2024
3.24.1025.30 52 10/24/2024
3.24.1022.142 39 10/22/2024
3.24.1018.204 107 10/18/2024
3.24.1018.175 99 10/18/2024
3.24.1018.166 101 10/18/2024
3.24.1018.93 108 10/18/2024
3.24.1017.42 56 10/16/2024
3.24.1016.161 56 10/16/2024
3.24.1015.231 56 10/15/2024
3.24.1015.14 57 10/14/2024
3.24.1012.114 55 10/12/2024
3.24.1009.115 59 10/9/2024
3.24.1008.160 54 10/8/2024
3.24.1008.133 61 10/8/2024
3.24.1007.185 55 10/7/2024
3.24.1003.33 64 10/2/2024
3.24.1002.162 58 10/2/2024
3.24.929.143 56 9/29/2024
3.24.929.141 58 9/29/2024
3.24.929.131 55 9/29/2024
3.24.929.122 63 9/29/2024
3.24.926.184 56 9/26/2024
3.24.926.182 58 9/26/2024
3.24.926.175 58 9/26/2024
3.24.924.160 55 9/24/2024
3.24.924.133 66 9/24/2024
3.24.924.124 54 9/24/2024
3.24.924.10 60 9/23/2024
3.24.924.1 56 9/23/2024
3.24.923.234 54 9/23/2024
3.24.923.232 54 9/23/2024
3.24.923.155 57 9/23/2024
3.24.919.92 68 9/19/2024
3.24.914.125 76 9/14/2024
3.24.914.115 61 9/14/2024
3.24.914.111 60 9/14/2024
3.24.911.95 63 9/11/2024
3.24.908.215 50 9/8/2024
3.24.904.200 59 9/4/2024
3.24.828.163 66 8/28/2024
3.24.820.173 67 8/20/2024
3.24.814.92 76 8/14/2024
3.24.812.115 73 8/12/2024
3.24.802.100 47 8/2/2024
3.24.801.162 58 8/1/2024
3.24.801.160 54 8/1/2024
3.24.801.155 56 8/1/2024
3.24.730.164 47 7/30/2024
3.24.730.91 46 7/30/2024
3.24.724.91 53 7/24/2024
3.24.718.105 64 7/18/2024
3.24.716.95 60 7/16/2024
3.24.712.94 54 7/12/2024
3.24.710.14 59 7/9/2024
3.24.709.105 58 7/9/2024
3.24.704.94 61 7/4/2024
3.24.701.90 67 7/1/2024
3.24.628.114 66 6/28/2024
3.24.627.145 56 6/27/2024
3.24.620.160 66 6/20/2024
3.24.613.115 62 6/13/2024
3.24.612.95 61 6/12/2024
3.24.528.90 61 5/28/2024
3.24.522.84 73 5/22/2024
3.24.512.213 68 5/12/2024
3.24.508.112 73 5/8/2024
2.2024.428.71 63 4/28/2024
2.2024.427.1128 113 4/27/2024
2.2.72 139 4/14/2024
2.2.71 64 4/12/2024
2.2.8 105 4/26/2024
2.2.6 65 4/10/2024
2.2.5 78 3/26/2024
2.2.4 77 3/25/2024
2.2.3 80 3/24/2024
2.2.2 82 3/21/2024
2.2.1 76 3/20/2024
2.2.0 83 3/13/2024
2.1.9 82 2/21/2024
2.1.8 86 2/18/2024
2.1.7 81 2/16/2024
2.1.6 88 2/14/2024
2.1.5 88 2/14/2024
2.1.4 88 2/9/2024
2.1.3 84 2/8/2024
2.1.2 84 2/5/2024
2.1.1.2 144 12/26/2023
2.1.1.1 88 12/26/2023
2.1.1 90 12/25/2023
2.1.0 105 12/17/2023
2.0.11 107 12/6/2023
2.0.1 104 11/15/2023
2.0.0 85 11/14/2023
1.9.1 107 11/1/2023
1.9.0 93 10/19/2023
1.9.0-preview2 85 10/12/2023
1.9.0-preview1 73 10/12/2023
1.8.9 101 10/11/2023
1.8.8 101 10/11/2023
1.8.7-rc2 81 9/21/2023
1.8.7-rc1 82 9/12/2023
1.8.6 123 8/31/2023
1.8.5 98 8/25/2023
1.8.4 99 8/24/2023
1.8.3 105 8/23/2023
1.8.2 164 8/22/2023
1.8.1 95 8/18/2023
1.8.0 588 8/15/2023
1.7.9 576 8/11/2023
1.7.8 549 8/11/2023
1.7.7 575 8/10/2023
1.7.6 624 8/9/2023
1.7.5 532 8/9/2023
1.7.4 654 8/3/2023
1.7.3 599 8/1/2023
1.7.2 638 7/31/2023
1.7.1 606 7/27/2023
1.7.0 612 7/25/2023
1.6.9 617 7/25/2023
1.6.8 633 7/24/2023
1.6.7 660 7/20/2023
1.6.6 673 7/19/2023
1.6.5 544 7/19/2023
1.6.4 631 7/17/2023
1.6.3 599 7/17/2023
1.6.2 660 7/12/2023
1.6.1 665 6/30/2023
1.6.0 631 6/26/2023
1.5.9 659 6/22/2023
1.5.8 632 6/15/2023
1.5.7.1 608 6/14/2023
1.5.7 628 6/14/2023
1.5.6.2 653 6/7/2023
1.5.6.1 627 6/7/2023
1.5.6 681 6/7/2023
1.5.5.2 595 5/26/2023
1.5.5.1 640 5/26/2023
1.5.5 669 5/26/2023
1.5.4.4 694 5/25/2023
1.5.4.3 663 5/23/2023
1.5.4.2 755 5/17/2023
1.5.4.1 666 5/16/2023
1.5.4 717 5/11/2023
1.5.3 659 5/11/2023
1.5.2 660 5/10/2023
1.5.1 627 5/10/2023
1.5.0 708 5/6/2023
1.4.0 703 5/5/2023
1.3.9 721 4/23/2023
1.3.8.6 710 4/23/2023
1.3.8.5 612 4/21/2023
1.3.8.1 736 4/12/2023
1.3.8 725 4/11/2023
1.3.7 698 4/9/2023
1.3.6.3 785 4/1/2023
1.3.6.2 701 3/31/2023
1.3.6.1 743 3/31/2023
1.3.6 729 3/31/2023
1.3.5 709 3/30/2023
1.3.4.1 799 3/29/2023
1.3.4 668 3/28/2023
1.3.3 650 3/28/2023
1.3.2 777 3/26/2023
1.3.1 850 3/22/2023
1.3.0 748 3/21/2023
1.2.0 671 3/21/2023
1.1.0 730 3/17/2023
1.0.9 692 3/15/2023
1.0.8 694 3/15/2023
1.0.7 692 3/15/2023
1.0.6 737 3/13/2023
1.0.5 779 3/13/2023
1.0.4 729 3/13/2023
1.0.2 788 2/26/2023
1.0.1 759 2/23/2023
1.0.0 734 2/20/2023