Skip to content

Commit dd282cd

Browse files
committed
Serilog.Sinks.Postgresql.Alternative: Fixed Serilog sink after migration to V4 (Batching).
1 parent 9a23a5c commit dd282cd

File tree

4 files changed

+12
-17
lines changed

4 files changed

+12
-17
lines changed

src/Serilog.Sinks.Postgresql.Alternative/GlobalUsings.cs

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
global using Serilog.Debugging;
1414
global using Serilog.Events;
1515
global using Serilog.Formatting.Json;
16-
global using Serilog.Sinks.PeriodicBatching;
1716
global using Serilog.Sinks.PostgreSQL;
1817
global using Serilog.Sinks.PostgreSQL.ColumnWriters;
1918
global using Serilog.Sinks.PostgreSQL.Configuration;

src/Serilog.Sinks.Postgresql.Alternative/LoggerConfigurationPostgreSQLExtensions.cs

+9-12
Original file line numberDiff line numberDiff line change
@@ -109,15 +109,14 @@ public static LoggerConfiguration PostgreSQL(
109109
onCreateTableCallback,
110110
onCreateSchemaCallback);
111111

112-
var batchingOptions = new PeriodicBatchingSinkOptions()
112+
var batchingOptions = new BatchingOptions()
113113
{
114114
BatchSizeLimit = optionsLocal.BatchSizeLimit,
115-
Period = optionsLocal.Period,
115+
BufferingTimeLimit = optionsLocal.Period,
116116
QueueLimit = optionsLocal.QueueLimit
117117
};
118118

119-
var batchingSink = new PeriodicBatchingSink(new PostgreSqlSink(optionsLocal), batchingOptions);
120-
return sinkConfiguration.Sink(batchingSink, restrictedToMinimumLevel, levelSwitch);
119+
return sinkConfiguration.Sink(new PostgreSqlSink(optionsLocal), batchingOptions, restrictedToMinimumLevel, levelSwitch);
121120
}
122121

123122
/// <summary>
@@ -238,15 +237,14 @@ public static LoggerConfiguration PostgreSQL(
238237
onCreateTableCallback,
239238
onCreateSchemaCallback);
240239

241-
var batchingOptions = new PeriodicBatchingSinkOptions()
240+
var batchingOptions = new BatchingOptions()
242241
{
243242
BatchSizeLimit = optionsLocal.BatchSizeLimit,
244-
Period = optionsLocal.Period,
243+
BufferingTimeLimit = optionsLocal.Period,
245244
QueueLimit = optionsLocal.QueueLimit
246245
};
247246

248-
var batchingSink = new PeriodicBatchingSink(new PostgreSqlSink(optionsLocal), batchingOptions);
249-
return sinkConfiguration.Sink(batchingSink, restrictedToMinimumLevel, levelSwitch);
247+
return sinkConfiguration.Sink(new PostgreSqlSink(optionsLocal), batchingOptions, restrictedToMinimumLevel, levelSwitch);
250248
}
251249

252250
columns ??= new Dictionary<string, ColumnWriterBase>();
@@ -272,15 +270,14 @@ public static LoggerConfiguration PostgreSQL(
272270
onCreateTableCallback,
273271
onCreateSchemaCallback);
274272

275-
var batchingOptions2 = new PeriodicBatchingSinkOptions()
273+
var batchingOptions2 = new BatchingOptions()
276274
{
277275
BatchSizeLimit = optionsLocal2.BatchSizeLimit,
278-
Period = optionsLocal2.Period,
276+
BufferingTimeLimit = optionsLocal2.Period,
279277
QueueLimit = optionsLocal2.QueueLimit
280278
};
281279

282-
var batchingSink2 = new PeriodicBatchingSink(new PostgreSqlSink(optionsLocal2), batchingOptions2);
283-
return sinkConfiguration.Sink(batchingSink2, restrictedToMinimumLevel, levelSwitch);
280+
return sinkConfiguration.Sink(new PostgreSqlSink(optionsLocal2), batchingOptions2, restrictedToMinimumLevel, levelSwitch);
284281
}
285282

286283
/// <summary>

src/Serilog.Sinks.Postgresql.Alternative/Sinks/PostgreSQL/PostgreSQLAuditSink.cs

+1-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ public class PostgreSqlAuditSink : ILogEventSink, IDisposable
2323
/// </summary>
2424
private readonly SinkHelper sinkHelper;
2525

26-
/// <inheritdoc cref="PeriodicBatchingSink" />
2726
/// <summary>
2827
/// Initializes a new instance of the <see cref="PostgreSqlSink" /> class.
2928
/// </summary>
@@ -39,7 +38,7 @@ public PostgreSqlAuditSink(PostgreSqlOptions options)
3938
/// <param name="logEvent"> a log event to emit </param>
4039
public async void Emit(LogEvent logEvent)
4140
{
42-
await this.sinkHelper.Emit(new List<LogEvent> { logEvent });
41+
await this.sinkHelper.Emit([logEvent]);
4342
}
4443

4544
/// <summary>

src/Serilog.Sinks.Postgresql.Alternative/Sinks/PostgreSQL/PostgreSQLSink.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ public PostgreSqlSink(PostgreSqlOptions options)
3939
/// <returns></returns>
4040
/// <exception cref="LoggingFailedException">Received failed result {result.StatusCode} when posting events to Microsoft Teams</exception>
4141
/// <remarks>
42-
/// Override either <see cref="M:Serilog.Sinks.PeriodicBatching.IBatchedLogEventSink.EmitBatch(System.Collections.Generic.IEnumerable{Serilog.Events.LogEvent})" /> or <see cref="M:Serilog.Sinks.PeriodicBatching.IBatchedLogEventSink.EmitBatchAsync(System.Collections.Generic.IEnumerable{Serilog.Events.LogEvent})" />,
42+
/// Override either <see cref="M:Serilog.Sinks.PeriodicBatching.IBatchedLogEventSink.EmitBatch(System.Collections.Generic.IReadOnlyCollection{Serilog.Events.LogEvent})" /> or <see cref="M:Serilog.Sinks.PeriodicBatching.IBatchedLogEventSink.EmitBatchAsync(System.Collections.Generic.IReadOnlyCollection{Serilog.Events.LogEvent})" />,
4343
/// not both. Overriding EmitBatch() is preferred.
4444
/// </remarks>
45-
public async Task EmitBatchAsync(IEnumerable<LogEvent> events)
45+
public async Task EmitBatchAsync(IReadOnlyCollection<LogEvent> events)
4646
{
4747
try
4848
{

0 commit comments

Comments
 (0)