Skip to content

Commit 58fc6bc

Browse files
committed
Merge branch 'release/v7.1.0'
2 parents 9b2006d + 3cade28 commit 58fc6bc

11 files changed

Lines changed: 214 additions & 18 deletions

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,4 +244,5 @@ ModelManifest.xml
244244
# FAKE - F# Make
245245
.fake/
246246

247-
.idea
247+
.idea
248+
.serena

CHANGES.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,11 @@
1+
7.1.0
2+
* Fixed: Guid to BsonValue mapping error (#91)
3+
* Fixed: RollingInterval collection naming with proper formatting (#95)
4+
* Fixed: Renamed SetRollingInternal to SetRollingInterval (#97)
5+
6+
7.0.0
7+
* Upgraded to MongoDB.Driver 3.0 fixing incompatibilities
8+
* Dropped .NET Standard 2.0 support
9+
110
2.0.0
211
* Moved the MongoDB sink from its [original location](https://github.com/serilog/serilog)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ var log = new LoggerConfiguration()
8787

8888
// sink will use the IMongoDatabase instance provided
8989
cfg.SetMongoDatabase(mongoDbInstance);
90-
cfg.SetRollingInternal(RollingInterval.Month);
90+
cfg.SetRollingInterval(RollingInterval.Month);
9191
})
9292
.CreateLogger();
9393
```

src/Serilog.Sinks.MongoDB/Helpers/MongoDbDocumentHelpers.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,16 @@ internal static string SanitizedElementName(this string? name)
5656

5757
if (value is ScalarValue scalar)
5858
{
59+
if (scalar.Value is null) return null;
60+
5961
if (scalar.Value is Uri uri) return BsonValue.Create(uri.ToString());
6062

6163
if (scalar.Value is TimeSpan ts) return BsonValue.Create(ts.ToString());
6264

6365
if (scalar.Value is DateTimeOffset dto) return BsonValue.Create(dto.ToString());
6466

67+
if (scalar.Value is Guid guid) return BsonValue.Create(guid.ToString());
68+
6569
return BsonValue.Create(scalar.Value);
6670
}
6771

src/Serilog.Sinks.MongoDB/LoggerConfigurationMongoDBExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public static LoggerConfiguration MongoDBBson(
6868
cappedMaxSizeMb ?? MongoDBSinkDefaults.CappedCollectionMaxSizeMb,
6969
cappedMaxDocuments);
7070

71-
if (rollingInterval.HasValue) cfg.SetRollingInternal(rollingInterval.Value);
71+
if (rollingInterval.HasValue) cfg.SetRollingInterval(rollingInterval.Value);
7272

7373
cfg.Validate();
7474

src/Serilog.Sinks.MongoDB/Serilog.Sinks.MongoDB.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</PropertyGroup>
1010

1111
<PropertyGroup>
12-
<PackageVersion>7.0.0</PackageVersion>
12+
<PackageVersion>7.1.0</PackageVersion>
1313
<Authors>Kiran Makkapati, Jaben Cargman, Serilog Contributors</Authors>
1414
<Copyright>Copyright © Serilog Contributors 2014-2022</Copyright>
1515
<Description>The MongoDB sink for Serilog</Description>
@@ -20,7 +20,7 @@
2020
<PackageTags>serilog, mongodb</PackageTags>
2121
<PackageReadmeFile>README.md</PackageReadmeFile>
2222
<PackageReleaseNotes>
23-
v7.0 - Upgraded to MongoDB.Driver to version 3.0 fixing incompatibilities.
23+
v7.1 - Bug fixes: Guid to BsonValue mapping (#91), RollingInterval collection naming (#95), SetRollingInterval method name correction (#97).
2424
</PackageReleaseNotes>
2525
</PropertyGroup>
2626

src/Serilog.Sinks.MongoDB/Sinks/MongoDB/MongoDBSinkBase.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,16 @@ protected static IMongoDatabase GetVerifiedMongoDatabaseFromConfiguration(
7171
?? new MongoClient(configuration.MongoUrl).GetDatabase(
7272
configuration.MongoUrl!.DatabaseName);
7373

74+
var collectionName = configuration.RollingInterval.GetCollectionName(configuration.CollectionName);
75+
7476
// connection attempt
7577
mongoDatabase.VerifyCollectionExists(
76-
configuration.CollectionName,
78+
collectionName,
7779
configuration.CollectionCreationOptions);
7880

7981
// setup TTL if desired
8082
mongoDatabase.VerifyExpireTTLSetup(
81-
configuration.CollectionName,
83+
collectionName,
8284
configuration.ExpireTTL);
8385

8486
return mongoDatabase;

src/Serilog.Sinks.MongoDB/Sinks/MongoDB/MongoDBSinkConfiguration.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public void Validate()
7171
/// Set the RollingInterval. (Default: RollingInterval.Infinite)
7272
/// </summary>
7373
/// <param name="rollingInterval"></param>
74-
public void SetRollingInternal(RollingInterval rollingInterval)
74+
public void SetRollingInterval(RollingInterval rollingInterval)
7575
{
7676
this.RollingInterval = rollingInterval;
7777
}

test/Serilog.Sinks.MongoDB.Tests/LoggerConfigurationMongoDBExtensionsTests.cs

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,26 @@
22

33
using Microsoft.Extensions.Configuration;
44

5+
using MongoDB.Bson;
6+
using MongoDB.Bson.Serialization;
7+
using MongoDB.Bson.Serialization.Serializers;
58
using MongoDB.Driver;
69

10+
using NUnit.Framework;
11+
712
using Serilog.Helpers;
813

914
namespace Serilog.Sinks.MongoDB.Tests;
1015

11-
using NUnit.Framework;
12-
1316
[TestFixture]
1417
public class LoggerConfigurationMongoDbExtensionsTests
1518
{
19+
[OneTimeSetUp]
20+
public void SetupMongo()
21+
{
22+
BsonSerializer.TryRegisterSerializer(new GuidSerializer(GuidRepresentation.Standard));
23+
}
24+
1625
private const string MongoConnectionString = "mongodb://localhost:27017";
1726

1827
private const string MongoDatabaseName = "mongodb-sink";
@@ -29,14 +38,13 @@ private static void TestCollectionAndDocumentExists(RollingInterval? rollingInte
2938
const string Message = "some message logged into mongodb";
3039

3140
using (var logger = new LoggerConfiguration()
32-
.WriteTo.MongoDBBson(
33-
configuration =>
34-
{
35-
configuration.SetMongoDatabase(mongoDatabase);
36-
if (rollingInterval is not null)
37-
configuration.SetRollingInternal(rollingInterval.Value);
38-
configuration.SetCollectionName(MongoCollectionName);
39-
}).CreateLogger())
41+
.WriteTo.MongoDBBson(configuration =>
42+
{
43+
configuration.SetMongoDatabase(mongoDatabase);
44+
if (rollingInterval is not null)
45+
configuration.SetRollingInterval(rollingInterval.Value);
46+
configuration.SetCollectionName(MongoCollectionName);
47+
}).CreateLogger())
4048
{
4149
logger.Information(Message);
4250
}

test/Serilog.Sinks.MongoDB.Tests/LoggerWithTraceIdTests.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
using Microsoft.Extensions.Configuration;
44

5+
using MongoDB.Bson;
6+
using MongoDB.Bson.Serialization;
7+
using MongoDB.Bson.Serialization.Serializers;
58
using MongoDB.Driver;
69

710
using Serilog.Helpers;
@@ -14,6 +17,12 @@ namespace Serilog.Sinks.MongoDB.Tests;
1417
[TestFixture]
1518
public class LoggerWithTraceIdTests
1619
{
20+
[OneTimeSetUp]
21+
public void SetupMongo()
22+
{
23+
BsonSerializer.TryRegisterSerializer(new GuidSerializer(GuidRepresentation.Standard));
24+
}
25+
1726
private const string MongoConnectionString = "mongodb://localhost:27017";
1827

1928
private const string MongoDatabaseName = "mongodb-sink";

0 commit comments

Comments
 (0)