Serilog 如何实施封顶收集期限?请参阅此代码:
Log.Logger = new LoggerConfiguration() .WriteTo.MongoDBCapped(
database: database,
restrictedToMinimumLevel: (Serilog.Events.LogEventLevel)logEventLevel,
collectionName: _collectionName,
period: TimeSpan.FromDays(RetainedDays))
因为根据 MongoDB 文档,您不能使用其“TTL 功能”和上限集合来存储文档。所以我假设:库以某种方式在其代码中跟踪这一点,但我想知道如何:以及它是否足够快。
MongoDB Capped Collection: https://docs.mongodb.org/manual/core/capped-collections/ GitHub MongoDB Sink (target) for Serilog: https://github.com/serilog/serilog-sinks-mongodb
也许用普通的集合和 TTL 文档编写我们自己的 Sink 甚至会更容易。