serilog - Serilog 内存接收器
问题描述
是否有一个 Serilog 接收器只写入内存中的缓冲区?我正在考虑的是一个存储 X 行的接收器,然后我可以访问这些 X 行并通过 api 控制器将它们显示在网页上。这将更适合查看应用程序中最近发生的错误。
我查看了 GitHub 接收器页面(https://github.com/serilog/serilog/wiki/Provided-Sinks),但没有看到,只是想知道我是否遗漏了一些东西。
解决方案
Serilog 没有写入内存的内置接收器,但您可以轻松地为此编写一个。例如,看一下DelegatingSink
Serilog 的单元测试中使用的那个,它是您需要的 80%...您只需将事件存储在内存数据结构中。
另一种选择是使用接收mssqlserver
器,将事件写入一个简单的表格,然后显示在您的 Web 应用程序中。
第三种选择(这是我的建议)是只安装Seq ,它对开发和单用户部署是免费的,然后通过他们的 sink将日志写入 Seq 。这将使您不必编写 Web 应用程序,并为您提供开箱即用的搜索和过滤功能。
推荐阅读
- html - 具有行跨度的表中的 Wkhtmltopdf 分页符打破了行跨度
- postgresql - 无法使用 Hibernate 访问 Postgres 数据库
- c# - 尝试在 ASP Net Core 中将 jpeg 转换为 png 会引发 GDI+ 异常
- angular - 使用 ngx-crystal-gallary 为网格视图中的每个图像添加标题标签
- javascript - 防止按钮关闭下拉菜单 - Bootstrap 4
- php - 为 Symfony CLI 命令启动 Xdebug 会话
- macos - 从 MacOs SwiftUI App 在终端中运行 shell .sh 脚本
- java - 如何更改字符串中的数字?
- python - 如何使用 for 循环和两个列表找到差异并定义函数?
- python - 遍历多个 url