Mys*_*288 2 c# elasticsearch fluentd serilog
现在我们有一个架构,其中应用程序将日志记录到文件,然后 fluidd 拉取日志并将其推送到elasticsearch,因此在这种情况下,我们希望压缩日志以利用空间,serilog 是否支持在写入之前进行日志压缩它到文件??
在另一种情况下,客户可能会记录超过5mb的数据,是否可以将日志写入文件,然后通过fluidd推送到elasticsearch?我觉得它会影响并导致失败,任何想法如何将超过 5mb 或大约 10mb 的消息推送到弹性搜索。
编写的示例代码:
.UseSerilog((hostingContext, loggerConfiguration) =>
{
loggerConfiguration.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.File(path: Path.Combine(Environment.CurrentDirectory, "Logs", "log.txt"),
rollOnFileSizeLimit: true,
retainedFileCountLimit: 20,
rollingInterval: RollingInterval.Day,
fileSizeLimitBytes: 10000
)
.WriteTo.Console();
})
Run Code Online (Sandbox Code Playgroud)
Serilog 没有内置压缩功能。如果您使用Serilog.Sinks.File接收器,则可以使用Serilog.Sinks.File.GZip等插件,或者您可以创建自己的插件FileLifecycleHook来包装流并压缩它。
或者,您可以编写自己的接收器。
| 归档时间: |
|
| 查看次数: |
1439 次 |
| 最近记录: |