首页 > 解决方案 > Serilog 内存接收器

问题描述

是否有一个 Serilog 接收器只写入内存中的缓冲区?我正在考虑的是一个存储 X 行的接收器,然后我可以访问这些 X 行并通过 api 控制器将它们显示在网页上。这将更适合查看应用程序中最近发生的错误。

我查看了 GitHub 接收器页面(https://github.com/serilog/serilog/wiki/Provided-Sinks),但没有看到,只是想知道我是否遗漏了一些东西。

标签: serilog

解决方案


Serilog 没有写入内存的内置接收器,但您可以轻松地为此编写一个。例如,看一下DelegatingSinkSerilog 的单元测试中使用的那个,它是您需要的 80%...您只需将事件存储在内存数据结构中。

另一种选择是使用接收mssqlserver器,将事件写入一个简单的表格,然后显示在您的 Web 应用程序中。

第三种选择(这是我的建议)是只安装Seq ,它对开发和单用户部署是免费的,然后通过他们的 sink将日志写入 Seq 。这将使您不必编写 Web 应用程序,并为您提供开箱即用的搜索和过滤功能。

序列


推荐阅读